Selenium+python各種填坑

版本

Python3.5.2 \ Selenium3.4.0 \ FireFox51.0


安裝setuptools與pip

  • setuptools是Python的distutilsde工具的增強(qiáng)工具,可以更方便的創(chuàng)建和發(fā)布Python包。
  • 在最新的Python安裝包中已經(jīng)集成了pip,所以不需要單獨(dú)下載安裝,沒想到到后來程序運(yùn)行,是一個(gè)大坑。
  • 第一個(gè)坑:下載setuptools-35.0.2.zip最新版本,通過python命令執(zhí)行setup.py進(jìn)行安裝:進(jìn)入到解壓后的文件夾cd -python setup.py install 使用此方法會(huì)報(bào)錯(cuò),解決使用:pip install setuptools 成功安裝。

安裝Selenium

  • 前面安裝pip是為了更方便的安裝Selenium包,通過pip命令可直接安裝:pip install Selenium。第二個(gè)坑Selenium安裝成功,但是在最下面會(huì)報(bào)一個(gè)警告,大致的就是說pip的版本問題。
Paste_Image.png

又重新更新了下pip:python -m pip install --upgrade pip

Paste_Image.png

成功 !!繼續(xù)~


編寫第一個(gè)自動(dòng)化腳本

Paste_Image.png
  • 第三個(gè)坑:原以為可以運(yùn)行了, 沒想到蹦出來個(gè)錯(cuò)誤,大致是說geckodriver需要配置在環(huán)境變量中。
Paste_Image.png
  • 得了,別廢話,下載吧 geckodriver下載地址
  • 原來Selenium3有了一些比較大的改變,其中之一就是Webdriver從瀏覽器中分離出來了,所以需要單獨(dú)安裝。
  • 第四個(gè)坑:下載的最新版本,緊跟潮流喵~geckodriver-v0.16.0-win64.zip,解壓后裝在任意文件夾都可以,然后再配置環(huán)境變量Path,丫的,又報(bào)錯(cuò),一直在提示 “selenium.common.exceptions.WebDriverException: Message: Unable to find a matching set of capabilities”。在網(wǎng)上查閱資料,大部分說是版本不兼容,火狐版本太高,這各種卸載,各種安裝啊,欲哭無淚,還是報(bào)同樣的錯(cuò)誤,最后才知道,geckodriver版本裝的高了,應(yīng)該安裝v0.15.0版本。
  • 接著需要將Firefox的可執(zhí)行程序路徑也添加到環(huán)境變量中,最后添加完了所有環(huán)境變量。
  • 最后重啟IDLE,運(yùn)行腳本,bingo~成功?。?!
  • 這段代碼做了以下幾件事:
    1 導(dǎo)入Selenium Webdriver包,從而使用Webdriver API
    2 獲得瀏覽器對(duì)象,賦值給變量driver
    3 通過get()方法,向?yàn)g覽器發(fā)送網(wǎng)址
    4 通過頁(yè)面元素的定位,定位到百度輸入框,并通過鍵盤輸入方法send_keys(),向輸入框中輸入"Selenium2"
    5 通過id定位百度一下搜索按鈕,并發(fā)送click()單擊事件
    6 退出并關(guān)閉瀏覽器

安裝瀏覽器驅(qū)動(dòng)

  • 各個(gè)瀏覽器驅(qū)動(dòng)下載地址
  • 安裝Chrome瀏覽器驅(qū)動(dòng),下載ChromeDriver_win32.zip,無論你的操作系統(tǒng)是32位還是64位的,都管用。解壓后,將chromedriver.exe放到 C:\Python35\目錄下,之前已經(jīng)將 C:\Python35放到系統(tǒng)環(huán)境變量Path下,所以這里不需要再次添加。
  • 安裝IE瀏覽器驅(qū)動(dòng),下載IEDriverServer_win32_xxx.zip,解壓后同樣放到C:\Python35\目錄下。
  • 安裝成功后可以用IE和Chrome來替換Firefox運(yùn)行上面的例子:
    將driver=webdriver.Firefox()
    替換為:
    driver=webdriver.Chrome()
    或:
    driver=webdriver.Ie()
    程序正常運(yùn)行。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容