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/n/147209.html
微信扫一扫
支付宝扫一扫