web端自動化——webdriver驅動


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()

 


免責聲明!

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



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