版本
Python3.5.2 \ Selenium3.4.0 \ FireFox51.0
安裝setuptools與pip
- setuptools是Python的distutilsde工具的增強工具,可以更方便的創(chuàng)建和發(fā)布Python包。
- 在最新的Python安裝包中已經(jīng)集成了pip,所以不需要單獨下載安裝欧穴,沒想到到后來程序運行,是一個大坑待榔。
- 第一個坑:下載setuptools-35.0.2.zip最新版本统锤,通過python命令執(zhí)行setup.py進行安裝:進入到解壓后的文件夾cd -python setup.py install 使用此方法會報錯陆淀,解決使用:pip install setuptools 成功安裝尤辱。
安裝Selenium
- 前面安裝pip是為了更方便的安裝Selenium包砂豌,通過pip命令可直接安裝:pip install Selenium。第二個坑Selenium安裝成功光督,但是在最下面會報一個警告阳距,大致的就是說pip的版本問題。
Paste_Image.png
又重新更新了下pip:python -m pip install --upgrade pip
Paste_Image.png
成功 =峤琛筐摘!繼續(xù)~
編寫第一個自動化腳本
Paste_Image.png
- 第三個坑:原以為可以運行了, 沒想到蹦出來個錯誤船老,大致是說geckodriver需要配置在環(huán)境變量中咖熟。
Paste_Image.png
- 得了,別廢話柳畔,下載吧 geckodriver下載地址
- 原來Selenium3有了一些比較大的改變球恤,其中之一就是Webdriver從瀏覽器中分離出來了,所以需要單獨安裝荸镊。
- 第四個坑:下載的最新版本,緊跟潮流喵~geckodriver-v0.16.0-win64.zip堪置,解壓后裝在任意文件夾都可以躬存,然后再配置環(huán)境變量Path,丫的舀锨,又報錯岭洲,一直在提示 “selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities”。在網(wǎng)上查閱資料坎匿,大部分說是版本不兼容盾剩,火狐版本太高,這各種卸載替蔬,各種安裝啊告私,欲哭無淚,還是報同樣的錯誤承桥,最后才知道驻粟,geckodriver版本裝的高了,應該安裝v0.15.0版本凶异。
- 接著需要將Firefox的可執(zhí)行程序路徑也添加到環(huán)境變量中蜀撑,最后添加完了所有環(huán)境變量挤巡。
- 最后重啟IDLE,運行腳本酷麦,bingo~成功?蟊啊!沃饶!
- 這段代碼做了以下幾件事:
1 導入Selenium Webdriver包母廷,從而使用Webdriver API
2 獲得瀏覽器對象,賦值給變量driver
3 通過get()方法绍坝,向瀏覽器發(fā)送網(wǎng)址
4 通過頁面元素的定位徘意,定位到百度輸入框,并通過鍵盤輸入方法send_keys()轩褐,向輸入框中輸入"Selenium2"
5 通過id定位百度一下搜索按鈕椎咧,并發(fā)送click()單擊事件
6 退出并關(guān)閉瀏覽器
安裝瀏覽器驅(qū)動
- 各個瀏覽器驅(qū)動下載地址
- 安裝Chrome瀏覽器驅(qū)動,下載ChromeDriver_win32.zip把介,無論你的操作系統(tǒng)是32位還是64位的勤讽,都管用。解壓后拗踢,將chromedriver.exe放到 C:\Python35\目錄下脚牍,之前已經(jīng)將 C:\Python35放到系統(tǒng)環(huán)境變量Path下,所以這里不需要再次添加巢墅。
- 安裝IE瀏覽器驅(qū)動诸狭,下載IEDriverServer_win32_xxx.zip,解壓后同樣放到C:\Python35\目錄下君纫。
- 安裝成功后可以用IE和Chrome來替換Firefox運行上面的例子:
將driver=webdriver.Firefox()
替換為:
driver=webdriver.Chrome()
或:
driver=webdriver.Ie()
程序正常運行驯遇。