我正在使用Selenium + WebDriver并尝试测试不同的用户代理。例如,我要为Windows上的Chrome添加这样的用户代理:
option = Options()
option.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36")
现在,当我登录时看到登录详细信息时,它显示为Windows Chrome,但是当我想将其重命名为其他类似的名称时:
option.add_argument("user-agent=test-user-agent")
要么
option.add_argument("user-agent=Mozilla/5.0 (test-user-agent NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36")
一些网站将其显示为unknown
或browser not supported
有没有一种方法可以“重命名”用户代理或创建自定义代理,或者只有预设数量的网站知道这些代理?
的用户代理 请求头是一个特性串,让服务器和网络对等体标识请求的应用程序,操作系统,供应商和/或版本的用户代理。
Web浏览器的常见格式如下:
User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>
当您的第一个代码尝试添加特定的用户代理时,它会完美运行:
代码块:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36")
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
print(driver.execute_script("return navigator.userAgent;"))
控制台输出:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36
但是,根据您的第二次尝试,您无法重命名User-Agent,因为它违反了规定的格式/语法。
但是,您始终可以使用更改用户代理execute_cdp_cmd(cmd, cmd_args)
,如下所示:
代码块:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36")
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
print(driver.execute_script("return navigator.userAgent;"))
# Setting UserAgent as Chrome/83.0.4103.97
driver.execute_cdp_cmd('Network.setUserAgentOverride', {"userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'})
print(driver.execute_script("return navigator.userAgent;"))
控制台输出:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36
您可以在以下位置找到几个相关的详细讨论:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句