Selenium安裝(二)
安裝python
安裝Selenium之前首先來說一下Python,python是一門動態性語言,python的編寫比較靈活,簡潔,開發效率高。因此以python結合selenium來進行自動化測試。
所以得先下載python,python下載參考https://www.python.org。建議下載python3以上的版本,python3與python2語法有區別,而且python3的庫比較齊全,而且python3被認為是python的未來。
安裝好python之後,python安裝包路徑下Scripts文件夾裏面有一個pip.exe可執行程序。它其實是一個安裝和管理python包的工具,類似easy_install。
安裝selenium
接下來就要使用這個工具來安裝selenium了。
在windows cmd窗口輸入:pip install -U selenium,會出現如下內容:
黃色部分提示更新pip,可更新,按照它提示的內容輸入:python -m pip install --upgrade pip,進行更新。
如果不能通過:pip install -U selenium安裝selenium,報錯,失敗的話,可在https://pypi.python.org/pypi/selenium進行selenium包下載。然後進行解壓,在解壓路徑下執行python setup.py install再次運行即可成功。
在windows cmd窗口輸入:pip show selenium,查看selenium是否安裝成功。
瀏覽器安裝
說是瀏覽器安裝,實質上是瀏覽器對應的Driver進行安裝,當然前提必須是安裝瀏覽器了。覺得chrome瀏覽器用的比較多一些,而且也比較好用,所以以chrome為例。http://chromedriver.storage.googleapis.com/index.html 裏面包括各個版本的Driver供下載,下載Driver需對應自己安裝的瀏覽器版本。瀏覽器版本可以在瀏覽器頁面地址欄右邊設置裏面的幫助查看。也可以在地址欄中輸入chrome://version進行查看。
選擇與版本匹配的文件進行下載,並解壓。找到chrome瀏覽器,在圖標上右擊打開文件所在位置,將解壓完成後將chromedriver.exe該路徑下面。
然後將chrome瀏覽器的安裝目錄加入到path環境變量中,讓其在任意文件目錄下都能夠運行。
測試是否安裝成功
from selenium import webdriver # 導入webdriver包
import time
driver = webdriver.Chrome() # 初始化一個谷歌瀏覽器實例:driver
driver.maximize_window() # 最大化瀏覽器
time.sleep(2) # 暫停5秒鐘
driver.get("https://www.baidu.com") # 通過get()方法,打開一個url站點
問題1:用pycharm編輯上述代碼時,提示selenium無法找到,原因為:python安裝路徑下D:\python\venv\Lib\site-packages沒有上面pip.exe下載的selenium,原來是下載在D:\Program Files\Lib\site-packages路徑下了,將selenium拷貝到D:\python\venv\Lib\site-packages就可以了。
問題2:path環境配置之後,仍提示chromedriver找不到,需要進行驅動傳入,若至傳入路徑,會報Application錯誤。
解決方法是:chromedriver="C:\Program Files\Google\Chrome\Application";driver = webdriver.Chrome(chromedriver),將此驅動進行傳入。
1 from selenium import webdriver # 導入webdriver包 2 3 import time 4 5 chromedriver = "C:\Program Files\Google\Chrome\Application\chromedriver" 6 browser = webdriver.Chrome(chromedriver) 7 browser.maximize_window() # 最大化瀏覽器 8 time.sleep(2) # 暫停5秒鐘 9 browser.get("https://www.baidu.com") # 通過get()方法,打開一個url站點
運行以上腳本,成功打開百度網頁,表示安裝成功!
其他有打開雅虎網站的,修改為以下,可打開:
1 from selenium import webdriver 2 from selenium.common.exceptions import NoSuchElementException 3 from selenium.webdriver.common.keys import Keys 4 import time 5 6 chromedriver = "C:\Program Files\Google\Chrome\Application\chromedriver" 7 browser = webdriver.Chrome(chromedriver) # Get local session of Chrome 8 browser.get("http://www.yahoo.com") # Load page 9 assert "Yahoo!" in browser.title 10 elem = browser.find_element_by_name("p") # Find the query box 11 elem.send_keys("seleniumhq" + Keys.RETURN) 12 time.sleep(0.2) # Let the page load, will be added to the API 13 try: 14 browser.find_element_by_xpath("//a[contains(@href,‘http://seleniumhq.org‘)]") 15 except NoSuchElementException: 16 assert 0, "can‘t find seleniumhq" 17 browser.close()
Selenium安裝(二)