selenium的簡單介紹

1.Selenium介紹:

Selenium是一個Web的自動化測試工具,最初是爲網站自動化測試而開發的,類型像我們玩遊戲用的按鍵精靈,可以按指定的命令自動操作,不同是Selenium 可以直接運行在瀏覽器上,它支持所有主流的瀏覽器(包括PhantomJS這些無界面的瀏覽器)。
Selenium 可以根據我們的指令,讓瀏覽器自動加載頁面,獲取需要的數據,甚至頁面截屏,或者判斷網站上某些動作是否發生。
Selenium 自己不帶瀏覽器,不支持瀏覽器的功能,它需要與第三方瀏覽器結合在一起才能使用。但是我們有時候需要讓它內嵌在代碼中運行,所以我們可以用一個叫 PhantomJS 的工具代替真實的瀏覽器。

2.PhantomJS介紹:

PhantomJS 是一個基於Webkit的“無界面”(headless)瀏覽器,它會把網站加載到內存並執行頁面上的 JavaScript,因爲不會展示圖形界面,所以運行起來比完整的瀏覽器要高效。

如果我們把 Selenium 和 PhantomJS 結合在一起,就可以運行一個非常強大的網絡爬蟲了,這個爬蟲可以處理 JavaScrip、Cookie、headers,以及任何我們真實用戶需要做的事情。
PhantomJS 是一個功能完善(雖然無界面)的瀏覽器而非一個 Python 庫,所以它不需要像 Python 的其他庫一樣安裝,但我們可以通過Selenium調用PhantomJS來直接使用。

在Ubuntu16.04中可以使用命令安裝:sudo apt-get install phantomjs

如果其他系統無法安裝,可以從它的官方網站http://phantomjs.org/download.html) 下載。

PhantomJS 官方參考文檔:http://phantomjs.org/documentation

3.Chromedriver的介紹

Chromedriver 也是一個能夠被selenium驅動的瀏覽器,但是和PhantomJS的區別在於它是有界面的

下載地址:https://npm.taobao.org/mirrors/chromedriver

4.driver的安裝

最簡單的安裝方式是:解壓後把bin目錄下的可執行文件移動到環境變量下,比如/usr/bin 或者是/usr/local/bin下面

5.PhantomJS安裝示例

5.1下載PhantomJS

wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2

5.2 解壓並創建軟連接:

tar -xvjf phantomjs-2.1.1-linux-x86_64.tar.bz2 
sudo cp -R phantomjs-2.1.1-linux-x86_64 /usr/local/share/ 
sudo ln -sf /usr/local/share/phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/

6.chromedriver安裝示例

 Linux 下安裝方式
chromedriver_linux64.zip : 版本 ChromeDriver v2.22 (2016-06-06)
(支持 Chrome v49-52,當前Ubuntu虛擬機下的Chrome版本爲50.0)


1. unzip chromedriver_linux64.zip
2. sudo chmod +x chromedriver
3. sudo mv chromedriver /usr/local/bin/


----- MacOS X 下安裝方式
chromedriver_mac64.zip : 版本 ChromeDriver v2.32 (2017-08-30)
(支持 Chrome v59-61)

1. 安裝 同Linux



----- Windows 下安裝方式
chromedriver_win32.zip : 版本 ChromeDriver v2.32 (2017-08-30)
(支持 Chrome v59-61)

1. 解壓 chromedriver_win32.zip
2. 將 chromedriver 移動到 Python安裝目錄下
(其實放哪都可以,但是需要配環境變量,放Python安裝目錄下省事)

注意:Chromedriver和電腦上的chrome版本有對應關係,建議使用最新的Chromedriver版本並且更新chrome瀏覽器到最新版

發佈了140 篇原創文章 · 獲贊 56 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章