DesiredCapabilities是Selenium WebDriver中的一個重要概念。通過DesiredCapabilities,我們可以對不同的瀏覽器進行定製化配置和設置。本文將從多個方面介紹DesiredCapabilities的
一、sessionid
sessionid是Webdriver向瀏覽器注入JS腳本並控制瀏覽器的入口,通過sessionid,Webdriver可以把瀏覽器啟動後的句柄返回給客戶端,客戶端通過該ID可以定位到該執行程序中的特定實例。例如,我們可以通過調用driver.session_id屬性獲取代表當前瀏覽器實例的session ID,並保存該ID,以便稍後使用該Webdriver實例。
from selenium import webdriver driver = webdriver.Chrome() session_id = driver.session_id print(session_id) driver.quit()
二、capabilities的基本設置
Capabilities是一個對象,它描述了我們要使用的瀏覽器的屬性。一些基本屬性如下:
- browserName:要使用的瀏覽器的名稱,例如Chrome, Firefox, Safari等
- version:要使用的瀏覽器的版本號,例如78.0.3904.97
- platform:要運行的平台,例如Windows, Macintosh, Linux
from selenium import webdriver
desired_cap = {'browserName': 'chrome', 'version': '78.0.3904.97', 'platform': 'Windows 10'}
driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=desired_cap)
driver.get("https://www.google.com")
print(driver.title)
driver.quit()
三、設置代理
如果你需要使用代理,可以添加proxy相關的Capabilities。例如:
from selenium import webdriver
PROXY = "xxx.xxx.xxx.xxx:xxxx"
webdriver.DesiredCapabilities.CHROME['proxy']={
"httpProxy":PROXY,
"ftpProxy":PROXY,
"sslProxy":PROXY,
"proxyType":"MANUAL",
}
driver = webdriver.Chrome()
driver.get("https://www.google.com")
print(driver.title)
driver.quit()
四、設置瀏覽器大小和位置
我們經常需要設置瀏覽器的大小和位置,這可以通過設置windowSize和windowPosition來實現。
from selenium import webdriver
desired_cap = {'browserName': 'chrome', 'version': '78.0.3904.97', 'platform': 'Windows 10', 'chromeOptions': {'args': ['--start-maximized']}}
driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=desired_cap)
driver.get("https://www.google.com")
print(driver.session_id)
driver.quit()
五、設置瀏覽器語言
有時候我們需要在特定的語言環境下進行自動化測試,這時可以通過設置language和locale屬性來完成。
from selenium import webdriver
desired_cap = {'browserName': 'chrome', 'version': '78.0.3904.97', 'platform': 'Windows 10', 'chromeOptions': {'args': ['--lang=zh-CN', '--disable-extensions']}}
driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=desired_cap)
driver.get("https://www.google.com")
print(driver.title)
driver.quit()
小結
通過上述實例和介紹,我們可以了解到DesiredCapabilities的各種用法和定製化配置。
原創文章,作者:PDEY,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/147209.html
微信掃一掃
支付寶掃一掃