Selenium的安裝和簡單實用——PhantomJS安裝


簡介

Selenium是一個用於Web應用程序測試的工具。

Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等。

這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應用程序看是否能夠很好得工作在不同瀏覽器和操作系統之上。測試系統功能——創建回歸測試檢驗軟件功能和用戶需求。

而用在爬蟲上則是模擬正常用戶訪問網頁並獲取數據。我們可以利用它來模擬用戶點擊訪問網站,繞過一些復雜的認證場景

通過selenium + 驅動瀏覽器這種組合可以直接渲染解析js,繞過大部分的參數構造和反爬

注意事項:

新版本的Selenium已經不支持phantomis,原作者也已經放棄維護該項目了。


安裝

ChromeDriver(瀏覽器驅動)安裝

使用selenium驅動chrome瀏覽器需要下載chromedriver,而且chromedriver版本需要與chrome的版本對應,版本錯誤的話則會運行報錯。

Chromedriver下載地址:http://chromedriver.storage.googleapis.com/index.html

or https://sites.google.com/a/chromium.org/chromedriver/downloads

Chromedriver與Chrome版本映射表:

chromedriver版本 支持的Chrome版本
v2.37 v64-66
v2.36 v63-65
v2.35 v62-64
v2.34 v61-63
v2.33 v60-62
v2.32 v59-61
v2.31 v58-60
v2.30 v58-60
v2.29 v56-58
v2.28 v55-57
v2.27 v54-56
v2.26 v53-55
v2.25 v53-55
v2.24 v52-54
v2.23 v51-53

 

Mac/Linux

下載完成解壓后,將文件移動至/usr/local/bin目錄中,則可以正常使用。

Windows

下載完成解壓后,將文件移動到一個配置了環境變量的文件夾中,例如你的Python安裝文件夾。

將解壓的exe文件放在環境變量下是為了方便使用,如果不在環境變量中,還可以在代碼里面聲明驅動的位置。

但是為了方便項目部署的,或者為了方便容易打包,我們可以將Chromedriver.exe放到我們的項目目錄中,

然后再初始化Chrome Webdriver對象時,傳入chromedirver.exe的路徑

如下所示:

from selenium import webdriver
browser = webdriver.Chrome(executable_path='chromedriver.exe')

 

引號之內的就是路徑,可根據自己文件的放置情況來填寫

 

PhantomJS的安裝

下載鏈接,下載好的壓縮文件解壓到環境變量中,建議解壓到Python中,安全起見,將Phantomjs.exe文件復制一份放在Python3文件夾下。

 

Selenium安裝

Selenium的安裝非常簡單,直接pip就可以搞定。

pip install selenium

 


簡單使用

現在運行一個空白頁面的瀏覽器窗口

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 實例化一個啟動參數對象
chrome_options = Options()
# 設置瀏覽器窗口大小
chrome_options.add_argument('--window-size=1366,768')
# 啟動瀏覽器
browser = webdriver.Chrome(chrome_options=chrome_options)

 

點擊運行,就會自動彈出一個空白的瀏覽器窗口了

 

接下來,我們再來嘗試訪問一下百度的首頁面

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 實例化一個啟動參數對象
chrome_options = Options()
# 設置瀏覽器窗口大小
chrome_options.add_argument('--window-size=1366,768')
# 啟動瀏覽器
browser = webdriver.Chrome(chrome_options=chrome_options)
# 請求百度首頁
browser.get('http://www.baidu.com')

 

這樣程序點擊運行,彈出的瀏覽器會自動轉到百度的首頁了

更加詳細的內容,會在接下來的內容中講到


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM