selenium2与python自动化1-selenium简介与降级
一、selenium簡介
? ? ? Selenium 是用于測試 Web 應用程序用戶界面 (UI) 的常用框架。它是一款用于運行端到端功能測試的超強工具。您可以使用多個編程語言編寫測試,并且 Selenium 能夠在一個或多個瀏覽器中執行這些測試。
Selenium的發展經歷了三個階段,第一個階段,也就是selenium1的時代,在運行selenium1.0程序之前,需要先啟動selenium server端(selenium remote control),簡稱RC。RC主要包括三個部分:launcher,http proxy,selenium core。其中selenium core是被selenium server嵌入到瀏覽器頁面中的,selenium core內部是一堆javascript函數構成,通過調用這些函數來實現對瀏覽器的各種操作。很顯然比較繁瑣,這并不是最佳自動化解決方案,于是后來有了webdriver。
selenium2 的時代合并了webdriver,也就是通常說的selenium,selenium2是默認支持Firefox瀏覽器的,這點非常方便。當然也支持其他更多瀏覽器,IE和Chrome瀏覽器需要下載驅動包,并添加到環境變量下。
selenium3 是2016年十月份左右出來的,并且現在默認安裝都是selenium3了,selenium3在selenium2的基礎上做了一些調整,最明顯的區別就是 selenium2對Firefox的支持最高只支持46及以下版本。selenium3可以支持47以上版本,但是需要下載geckodriver.exe驅動,并添加到環境變量path下。
鑒于selenium3中諸多問題,環境配置使用selenium2。
? ? ? ? 環境安裝自不用多說,安裝完成后(這里安裝在C:\Python27),將目錄:C:\Python27和C:\Python27\Scripts 加入到環境變量path中。
正確安裝后,C:\Python27\Scripts目錄下存在pip.exe和easy_install.exe,這樣就加入到path中了
二、安裝selenium2
使用命令:pip install selenium==2.53.6
#coding:utf-8'''上海悠悠selenium-5'''from selenium import webdriver import time#打開瀏覽器 driver = webdriver.Firefox() #打開百度 driver.get('http://www.baidu.com')#頁面加載需要幾秒鐘的時間 time.sleep(2)driver.get("http://www.cnblogs.com/yoyoketang/p/6123834.html")time.sleep(2)#返回上一頁,瀏覽器上的回退 driver.back()time.sleep(2)driver.forward()driver.set_window_rect(540,960) time.sleep(2)driver.maximize_window() #頁面刷新 driver.refresh()driver.quit()'geckodriver' executable needs to be in PATH?表明 geckodriver驅動需要添加到環境變量path中,因為selenium2默認支持 Firefox()的,不需要驅動包,但是selenium3 需要驅動包的支持,因此這也正是為什么在安裝selenium2中出現了selenium3的從而導致腳本運行失敗。
從而有兩種方法:1、繼續使用selenium3,并下載驅動包,同時添加到環境變量中
? ? ? ? ? ? ? ? ? ? ? ? ? ?2、selenium3降到selenium2
至于如何降到selenium2中,通過查詢版本信息:
由于python第三方包的安裝目錄為:C:\Python27\Lib\site-packages,如果上述查詢結果為3.*.*,則刪除該目錄下的
由于這里已經是selenium2,所以無需刪除。如果是selemnium3,需要進行刪除,之后進行pip安裝。
此外由于selenium只兼容Firefox.47版本以下的,因此如果是Firefox瀏覽器時要主要,同時安裝之后需要關閉自動更新的選項。這里給出Firefox()瀏覽器的地址Firefox.
總結
以上是生活随笔為你收集整理的selenium2与python自动化1-selenium简介与降级的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动化测试框架搭建-邮件-5
- 下一篇: selenium2与python自动化2