標籤:html 分享圖片 分享 border 頁面 提示 瀏覽器 pre img
Selenium 一自動化測試載入器。它支援 Chrome,Safari,Firefox 等主流介面式瀏覽器,如果你在這些瀏覽器裡面安裝一個 Selenium 的外掛程式,那麼便可以方便地實現Web介面的測試。
所以呢,你要用Selenium你必須得先有個瀏覽器(大多數人沒說這點,略坑!),無論是Chrome也好,Firefox也好,你必須得有一個。
安裝完瀏覽器了,抱著愉快的心情用pip3安裝了Selenium,在Pyhton互動模式中直接匯入Webdriver,建立Webdriver對象報如下錯誤:
| 1 |
No such file or directory: ‘geckodriver‘ |
這上什麼鬼?原來還需要安裝瀏覽器的驅動檔案。。。。。。。,下載頁面如下,
| 1 |
https://github.com/SeleniumHQ/selenium/blob/master/py/docs/source/index.rst |
記得要下載對應的驅動,Chrome不能用Firefox,Firefox也不能用Chrome的,如果驅動版本錯了,會報無法執行的錯誤,如下
1 OSError: [Errno 8] Exec format error
為何不弄一個所有驅動在一起的?搞不明白。
將下載的驅動檔案解壓到/usr/bin,或/usr/local/bin下面,也就你的環境變數裡在, 如何你直接修改PATH,我認為也是可以的,只要能找到就好了。
到這了,感覺應該可以了吧,不行的,建立對象是沒問題了,但是一訪問URL,又報錯了。。。。。
| 1 |
geckodriver.log Error: GDK_BACKEND does not match available displays |
從geckodriver.log中看到的報錯資訊,需要一個顯示,本來想命令列用,但是卻提示需要一個匹配的顯示。經過去Google搜尋得到,需要建立虛擬顯示器。
安裝如下軟體來建立:
yum install Xvfb libXfont xorg-x11-fonts*pip3 install pyvirtualdisplay
跳出這些坑,總算是可以正常使用了,測試代碼如下:
1 from selenium import webdriver 2 from pyvirtualdisplay import Display 3 4 5 display = Display(visible=0, size=(800,600)) 6 display.start() 7 driver = webdriver.Firefox() 8 driver.get("http://www.baidu.com") 9 print driver.page_source
這樣總算是順利的列印出了HTML語句,順利跳出大坑!
在Centos7下安裝Python+Selenium+Firefox學習環境