上篇文章簡略講述了 WebDriver 啟動 firefox 瀏覽器的示例腳本源碼,具體請參閱: PySe-003-Se-WebDriver 啟動瀏覽器之一 - Firefox
此文主要講述在 MacOX 系統下如何配置 Chrome 的測試環境,及如何通過 Python 啟動 Chrome 瀏覽器。
一、Chrome 環境配置
因 WdbDriver 僅僅對 Firefox 提供了原生支持,因而 WebDriver 啟動 Chrome 瀏覽器同 windows 啟動 chrome 一樣,需要對應的 chromedriver 下載。如下圖所示,下載對應的版本即可。
下載后解壓,將其中的 chromedriver 拷貝至 /usr/bin 目錄下(拷貝時需要輸入管理員密碼),同時輸入如下的命令修改其執行權限:
// 賦予 chromedriver 可執行權限,不允許讀寫 chmod 111 /usr/bin/chromedriver
輸入如下命令,查看 chromedriver 的執行權限,確保 chromedriver 可執行(r-讀;w-寫;x-執行)。
Aaron-test:pyse aaron$ ls -l /usr/bin/chromedriver ---x--x--x 1 icson staff 10710524 8 6 18:08 /usr/bin/chromedriver
若 chromedriver 無相應的執行權限,執行自動化測試腳本時會提示如下所示的權限信息,提示用戶無響應的執行權限,如下所示:
Aaron-test:pyse aaron$ python pyse_demo_chrome.py Traceback (most recent call last): File "pyse_demo_chrome.py", line 6, in <module> browser = webdriver.Chrome() File "/Library/Python/2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 60, in __init__ self.service.start() File "/Library/Python/2.7/site-packages/selenium/webdriver/chrome/service.py", line 78, in start os.path.basename(self.path), docs_msg) selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home
至此,MacOX 下 WebDriver 執行 chrome 瀏覽器環境配置完成。
二、啟動 Chrome 瀏覽器
下面以實際的操作實例演示 WebDriver 啟動 Chrome 瀏覽器。具體操作流程如下所示:
- 啟動 chrome 瀏覽器
- 打開 百度
- 搜索框輸入 范豐平
- 點擊 搜索 按鈕
pyse_demo_chrome.py 的內容如下所示:
1 #!/usr/local/bin/python 2 # -*- coding: utf-8 -*- 3 4 from selenium import webdriver 5 6 browser = webdriver.Chrome() 7 8 browser.get("http://www.baidu.com/") 9 10 txt_search_key = browser.find_element_by_id("kw") 11 12 txt_search_key.clear() 13 14 txt_search_key.send_keys(u"范豐平") 15 16 btn_search = browser.find_element_by_id("su") 17 18 btn_search.click() 19 20 # browser.close() 21 22 # browser.quit()
命令行輸入 python pyse_demo_chrome.py 的執行結果如下所示:
PS:最后點擊搜索結果項的第一個鏈接,是我手動點擊的,程序中沒有寫,各位小主,可自行嘗試一下獲取響應的鏈接點擊,采用 WebDriver 查找頁面元素的 Link 相關方法。
至此, PySe-004-Se-WebDriver 啟動瀏覽器之二 - Chrome 順利完結,希望此文能夠給初學 Python + Selenium 的您一份參考。
最后,非常感謝親的駐足,希望此文能對親有所幫助。熱烈歡迎親一起探討,共同進步。非常感謝! ^_^