1.1Edge瀏覽器(不過,Edge瀏覽器只能運行於 Windows 10)
Edge驅動的下載地址,復制鏈接http://go.microsoft.com/fwlink/?LinkId=619687
下載MicrosoftWebDriver.msi 文件。雙擊安裝,將安裝目錄添加到系統環境變量path下,或將安裝文件夾下的 MicrosoftWebDriver.exe文件復制到Python安裝目錄下。
下面就可以使用Edge瀏覽器運行測試腳本了。
baidu.Py
from selenium import webdriver
from time import *
driver = webdriver.Edge()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Edge")
driver.find_element_by_id("su").click()
sleep(5)
driver.close()
1.2 Chrome瀏覽器
把下載好的驅動包chromedriver.exe解壓出來,放在本機谷歌瀏覽器安裝目錄下的Application目錄中(我的安裝路徑是:C:\Users\Administrator\AppData\Local\Google\Chrome\Application,具體看你們安裝的路徑),然后配置環境變量在path中添加chromedriver.exe的路徑。chromedriver驅動下載地址:http://chromedriver.storage.googleapis.com/index.html
from selenium import webdriver
from time import *
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Chrome")
driver.find_element_by_id("su").click()
sleep(5)
driver.close()
1.3 Firefox瀏覽器
把下載好的驅動包geckodriver.exe解壓出來,放在本機火狐瀏覽器安裝目錄下的Application目錄中(我的安裝路徑是:C:\Program Files (x86)\Mozilla Firefox,具體看你們安裝的路徑),然后配置環境變量在path中添加geckodriver.exe的路徑。geckodriver驅動下載地址:https://github.com/mozilla/geckodriver/releases/
from selenium import webdriver
from time import *
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Firefox")
driver.find_element_by_id("su").click()
sleep(5)
driver.close()
1.4 IE瀏覽器
驅動下載地址:https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver【要是連不上,請翻牆】
使用RF在ie瀏覽器上測試的同學,務必檢查以下幾個設置:
1、IE選項設置的安全頁中,4個區域的啟用保護模式的勾選都去掉(或都勾上)(工具> internet選項>安全)
2、IE選項設置的連接頁中,局域網設置里的代理服務器設置,不能勾選。如果需要配置代理,請使用上面的pac自動配置腳本來使用代理。(工具> internet選項>安全)
3、IE頁面的顯示比例要為100%
4、下載對於版本的IEDriverServer.exe文件,放到環境變量path路徑的目錄里或把他所在的目錄加到path環境變量中。(我的IE安裝路徑是:C:\Program Files\Internet Explorer,具體看你們安裝路徑)
from selenium import webdriver
from time import *
driver = webdriver.Ie()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Ie")
driver.find_element_by_id("su").click()
sleep(5)
driver.close()
如果不會手動設置環境變量,那么可以通過如下腳本來設置IE瀏覽器驅動的環境變量並運行腳本:
import os
from selenium import webdriver
from time import *
IEDriverServer = "C:\Program Files\Internet Explorer\IEDriverServer.exe"
os.environ["webdriver.ie.driver"] = IEDriverServer
driver = webdriver.Ie(IEDriverServer)
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("Ie")
driver.find_element_by_id("su").click()
sleep(3)
driver.quit()
1.5 Opera瀏覽器
OperaChromiumDriver驅動支持。
驅動下載地址:https://sites.google.com/a/chromium.org/chromedriver/home
下載對應版本的operadriver*.zip,解壓后將得到operadriver.exe文件,同樣將其放到opera瀏覽器安裝目錄下,原因同上。
1.6 Safari瀏覽器
Safari為蘋果公司的瀏覽器,最早支持MAC平台,不過,現在己經支持Windows平台。與其他瀏覽器有所不同,Safari瀏覽器沒有相應的驅動文件,它的驅動被集成到了Selenium Server中,所以,需要通過Remote配置運行。
首先,在Windows命令提示符下啟動Selenium Server。
>java -jar selenium-server-standalone-3.141.0.jar
然后,運行腳本。
baidu1.py
from selenium.webdriver import Remote
driver = Remote(command_executor='http://192.168.1.180:4444/wd/hub',
desired_capabilities={'platform':'ANY',
'browserName':'safari',
'version':'',
'javascriptEnabled':True
})
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("safari")
driver.find_element_by_id("su") .click()
driver.quit()
1.7 HtmlUnit模式
HtmlUnit 官方網站:http://htmlunit.sourceforge.net/
HtmlUnit是一款開源的Java頁面分析工具,讀取頁面后,可以有效地使用HtmlUnit分析頁面上的內容。項目可以模擬瀏覽器運行,被譽為Java瀏覽器的開源實現。這個沒有界面的瀏覽器,其運行速度非常迅速。Selenium Server中同樣包含了HtmlUnit驅動。
首先,在Windows命令提示符下啟動Selenium Server
>java -jar selenium-server-standalone-3.141.0.jar
baidu2.py
from selenium.webdriver import Remote
driver = Remote(command_executor='http://192.168.1.180:4444/wd/hub',
desired_capabilities={'platform':'ANY',
'browserName':'htmlunit',
'version':'',
'javascriptEnabled':True
})
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("htmlunit")
driver.find_element_by_id("su") .click()
driver.get_screenshot_as_file('D:\\run_ok.jpg')
driver.quit()
1.8 PhantomJS 模式
PhantomJS 官方網站:http://phantomjs.org/
PhantomJS 是一個擁有JavaScriptAPI的無界面WebKit內核,與HtmlUnit類似。正如我們所知道的,WebKit是Safari和其他一些瀏覽器使用的布局引擎。因此,PhantomJS是一個瀏覽器,而且是一個無界面的瀏覽器。這意味着渲染后的網頁實際上絕不會顯示。這或許有些不可思議,所以我們可以把它作為一個可編程的瀏覽器終端。
在使用PhantomJS之前,需要先下載它。PhantomJS支持Windows、MAC、Linux等平台,我們可以根據自己的環境選擇相應的版本進行下載。
下載完成后解壓得到phantomjs.exe程序,將其復制到Python安裝目錄下,即可通過PhantomJS模式運行測試腳本。
baidu3.py
from selenium import webdriver
from selenium.common.exceptions import WebDriverException
from time import *
driver=webdriver.PhantomJS()
driver.get("http://www.baidu.com")
try:
driver.find_element_by_id("kw").send_keys("phantomjs")
driver.find_element_by_id("su") .click()
sleep(1)
driver.get_screenshot_as_file('D:\\baidu_ok.jpg')
except WebDriverException as msg:
print(msg)
driver.get_screenshot_as_file('D:\\baidu_error.jpg')
finally:
driver.quit()