如何更改 Selenium 驱动程序的用户代理?


我们可以更改 Selenium webdriver 的用户代理。用户代理头包含一个特定字符串,用于提供网络协议以及有关操作系统、软件版本、应用程序等详细信息。

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
#object of Options class
op = webdriver.ChromeOptions()
#add user Agent
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")
#set chromedriver.exe path
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe",
options=op)
#maximize browser
driver.maximize_window()
#launch URL
driver.get("https://www.seleniumhq.org/download/");
#get user Agent with execute_script
a= driver.execute_script("return navigator.userAgent")
print("User agent:")
print(a)
#close browser session
driver.quit()

输出

更新日期:2021 年 2 月 1 日

12K+ 浏览

开启您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.