了解DesiredCapabilities

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
PDEY的头像PDEY
上一篇 2024-11-01 14:06
下一篇 2024-11-01 14:06

发表回复

登录后才能评论