Python 使用Selenium更改浏览器类型和版本
我正在使用下面的代码使用SeleniumWebDriver更改我的用户代理。然而,我可以看到Google analytics每次都可以很容易地检测到我的浏览器,甚至是它的版本(在本例中是Firefox 54.0)。用Chromedriver也试过了。同样的结果Python 使用Selenium更改浏览器类型和版本,python,selenium,selenium-webdriver,browser,user-agent,Python,Selenium,Selenium Webdriver,Browser,User Agent,我正在使用下面的代码使用SeleniumWebDriver更改我的用户代理。然而,我可以看到Google analytics每次都可以很容易地检测到我的浏览器,甚至是它的版本(在本例中是Firefox 54.0)。用Chromedriver也试过了。同样的结果 from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options i
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from fake_useragent import UserAgent
useragent = ua.random
#Chrome
'''
opts.add_argument('"'+useragent+'"')
driver = webdriver.Chrome(chrome_options=opts)
'''
#Firefox
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", useragent)
driver = webdriver.Firefox(profile)
driver.get("www.mywebsite.com")
如何正确更改用户代理?以下是您问题的答案: 考虑到您的目标是使用Selenium Webdriver更改
用户代理
,您可以使用下面的代码块,每次使用用户代理
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from fake_useragent import UserAgent
binary = FirefoxBinary('C:\\Program Files\\Mozilla Firefox\\firefox.exe')
useragent = UserAgent()
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", useragent.random)
driver = webdriver.Firefox(firefox_profile=profile, firefox_binary=binary, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
driver.get("http://www.whatsmyua.info/")
观察
在三次不同的运行中,生成了用户代理
:
Mozilla/5.0(X11;Ubuntu;Linux x86;rv:21.0)Gecko/20130331 Firefox/21.0
Mozilla/5.0(Windows NT 6.1)AppleWebKit/537.36(KHTML,像Gecko)Chrome/27.0.1453.93 Safari/537.36
Mozilla/5.0(Windows NT 6.1;WOW64;Trident/7.0;AS;rv:11.0)像Gecko一样
如果这能回答您的问题,请告诉我。您是否使用请求模块尝试过此功能?没有。但是,我需要硒元素。。顺便说一句,你用谷歌分析测试过
请求吗?没有。这就是为什么我问你是否这样做,而不是把它写在答案里。如果他们表现不同,那会很有趣。不管怎样,如果有硒的话,我更喜欢它的答案