在Centos7下安裝Python+Selenium+Firefox學習環境

來源:互聯網
上載者:User

標籤: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學習環境

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.