如何使用Selenium和Python为用户代理设置自定义名称
我正在使用selenium+webdriver并尝试测试不同的用户代理。我正在为Windows上的Chrome添加这样的用户代理,例如:如何使用Selenium和Python为用户代理设置自定义名称,python,selenium,selenium-webdriver,webdriver,user-agent,Python,Selenium,Selenium Webdriver,Webdriver,User Agent,我正在使用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") 现
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")
或
一些网站将其显示为未知
或浏览器不受支持
有没有办法“重命名”用户代理或创建自定义的用户代理,或者网站只知道预设数量的用户代理?用户代理
是一个特征字符串,允许服务器和网络对等方识别请求的应用程序、操作系统、供应商和/或版本
语法 web浏览器的通用格式如下所示:
User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>
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.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
但是,您始终可以使用更改用户代理,如下所示:
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;"))
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.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
工具书类 您可以在以下内容中找到一些相关的详细讨论: