今天要示範的是在 Linux 下使用 python selenium 呼叫 firefox 31 (firefox v31為目前測試過可正常工作的版本,若瀏覽器發生問題可參考瀏覽器支援列表選擇相容的瀏覽器) 開啟 Google 首頁,並且觸發鍵盤輸入以及滑鼠點擊事件,模擬使用者的操作行為。
首先設定 python virtualenv 測試環境:
1. 設定 virtualenv 路徑(假設以 ~/.python/virt_env/selenium/ 為 virtualenv 路徑)
mkdir ~/.python/virt_env/
virtualenv ~/.python/virt_env/selenium/2. 切換至測試環境
source ~/.python/virt_env/selenium/bin/activate3. 安裝 yolk
easy_install yolk4. 安裝 selenium, 安裝後可用 yolk 檢查套件
easy_install selenium
yolk -l
接著必須先了解哪些 Google 首頁哪些元件可以操作,selenium 操作可以透過 ID 或是 XPath 來指定網頁元件,可以透過 chrome 瀏覽器頁面點右鍵 -> 檢視元素,會跳出 Developer Tools 視窗,可檢視 html 語法
同樣的也可以用相同方法找到 "Google 搜尋" 按鈕的資訊。
前情提要完畢進入正題,selenium client webdrive 提供的主要 API 以及一般操作流程如下:
1. 初始化 selenium webdrive: browser=webdrive.Firefox()
2. 取得網頁: browser.get ("URL")
3. 指定特定元件: browser.find_element_by_id() / browser.find_element_by_class() ...etc
4. 對物件觸發事件: send_keys() / click()
5. 取得新的頁面結果: browser.page_source
前情提要完畢進入正題,selenium client webdrive 提供的主要 API 以及一般操作流程如下:
1. 初始化 selenium webdrive: browser=webdrive.Firefox()
2. 取得網頁: browser.get ("URL")
3. 指定特定元件: browser.find_element_by_id() / browser.find_element_by_class() ...etc
4. 對物件觸發事件: send_keys() / click()
5. 取得新的頁面結果: browser.page_source