python selenium+phantomJS自動化測試環境


0x00配置phantomJS

1、 在windows平台下

 

此種方法是彈瀏覽器進行自動化測試的。

1、下載谷歌的驅動

https://chromedriver.storage.googleapis.com/index.html

2、將解壓后的chromedriver.exe放到chrome瀏覽器的安裝目錄下。

3、在代碼中調用瀏覽器驅動,執行自動化操作。

chromedriver = 'chromedriver絕對路徑'
driver = webdriver.Chrome(chromedriver)
driver.get(url)

 

 

2、在linux命令行無界面下

 

使用phantomJS配合selenium,可以創建無界面的瀏覽器,這樣即可達到我們的目的。

 

配置方法:

 

1.安裝phantomJS

安裝包下載地址:http://phantomjs.org/download.html,包括Windows,Mac OS,Linux版本,自行選擇對應版本下載解壓即可

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

 

用 tar 解壓 tar.bz2 文件時可能會遇到這個錯誤

 

debian:/usr/src# tar jxf linux-2.6.26.tar.bz2

tar: bzip2: Cannot exec: No such file or directory

tar: Error is not recoverable: exiting now

tar: Child returned status 2

tar: Error exit delayed from previous errors

 

解決辦法:

此問題時缺少bzip2工具,安裝該工具。

yum install bzip2

 

0x02 安裝selenium

 

pip install selenium

到這里。環境就配置好了。接下來就可以上代碼了。

 

0x03 示例代碼

 

主要記錄一下常用用法:

 

from selenium import webdriver

driver = webdriver.PhantomJS(executable_path='/bin/phantomjs/bin/phantomjs')#這里的executable_path填你phantomJS的路徑

driver.get('http://www.xxxx.com')
print driver.title # 獲取title值
pageSource = driver.page_source # 獲取全文內容
elem_text = driver.find_element_by_name("text") # 通過想輸入地方的name值來定位
elem_text.send_keys(articles)  # 發送的內容
driver.find_element_by_class_name("class值")
driver.find_element_by_id("btn-submit").click() # 通過id值來定位,並模擬點擊提交
driver.quit()

 

可能出現的報錯信息:

 

selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH

 

這種報錯就是你的PhantomJS保存路徑填錯了,檢查填寫的路徑是否為phantomjs程序的保存路徑。

 

注意這里使用的是windows系統,在路徑前面需要加上r,參考給出的代碼語句。

browser = webdriver.PhantomJS(executable_path=r'C:\Users\lyh\Anaconda2\phantomjs-2.1.1-windows\bin\phantomjs.exe')

 

參考文章

https://blog.csdn.net/lambert310/article/details/48734389

https://blog.csdn.net/JohinieLi/article/details/76622776

 


免責聲明!

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



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