python-selenium-更改user-agent

Posted by

针对Chrome:

方法1:

selenium控制谷歌浏览器时,user-agent默认就是谷歌浏览器的user-agent

如果我们想要替换user-agent,我们需要实例化配置对象:

options = webdriver.ChromeOptions()  #创建一个配置对象
options.add_argument('--user-agent=Mozilla/5.0 ABCD')   #替换user-agent
driver = webdriver.Chrome(service=s,chrome_options=options)    #实例化带有配置对象的driver对象
driver.get('https://lcj.ink')

这种方法更换user-ageng使需要重启浏览器

options = webdriver.FirefoxOptions()
options.add_argument('--user-agnet="Mozilla/5.0 abcd"')
driver = webdriver.Firefox(service=s,options=options)
driver.get('https://lcj.ink')

方法2:

对于已经创建好的driver对象:

driver.execute_cdp_cmd('Network.setUserAgentOverride',{
    "userAgent":"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36",
    "platfrom":"Windows"
})

这种方法不需要重启浏览器就可以更换user-agent,但是只适合在windows系统 运行

针对Firefox:

Firefox中需要创建FirefoxOptions对象:

profile = webdriver.FirefoxOptions()

然后,我们需要使用set_preference():

profile.set_preference('general.useragent.override','需要使用的user-agent')

最后,我们需要传入driver中:

driver = webdriver.Firefox(service=s,options=profile)

我们可以使用网址http://httpbin.org/user-agent来查看user-agent:

driver.get('http://httpbin.org/user-agent')