如何更改 Selenium 驱动程序的用户代理?
seleniumautomation testingtesting tools
我们可以更改 Selenium Web 驱动程序的用户代理。用户代理标头包含一个特定的字符串,该字符串提供网络协议以及操作系统、软件版本、应用程序等详细信息。
Selenium 能够获取或修改用户代理。这可以通过 JavaScript 执行器 来实现。Selenium 通过 execute_script 方法执行 JavaScript 命令。
要获取用户代理信息,我们必须将返回的 navigator.userAgent 参数传递给该方法。要更改用户代理,我们需要借助 ChromeOptions 类。
然后在创建的对象上应用 add_argument 方法。我们将把用户代理和<用户代理的值>作为参数传递给该方法。最后,此信息应传递给驱动程序对象。
语法
op = webdriver.ChromeOptions()
op.add_argument("user-agent=<user agent value>")
示例
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
#Options 类的对象
op = webdriver.ChromeOptions()
#添加用户代理
op.add_argument
("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
+"AppleWebKit/537.36 (KHTML, like Gecko)"
+"Chrome/87.0.4280.141 Safari/537.36")
#设置 chromedriver.exe 路径
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe",
options=op)
#最大化浏览器
driver.maximize_window()
#启动 URL
driver.get("https://www.seleniumhq.org/download/");
#使用 execute_script 获取用户代理
a= driver.execute_script("return navigator.userAgent")
print("用户代理:")
print(a)
#关闭浏览器会话
driver.quit()
输出


