问题
I'm building a search bot and i want it to change from Desktop to Mobile
I tried to use profile.set_preferences but for some reason it wont change. It doesn't give compiling time error but it wont change the user agent. I also tried setting the desired capabilities but that didn't work either.
if count == 0:
browser = webdriver.Firefox(executable_path="geckodriver.exe")
else:
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", "Mozilla/5.0 (Android 4.4; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0")
browser = webdriver.Firefox(profile)
I want it to search once as a regular browser and then to search as a mobile device but it just searches as a regular browser both times and i am sure that i increment count.
回答1:
A simple way to fake the User Agent would be using the FirefoxProfile()
as follows :
from selenium import webdriver
from fake_useragent import UserAgent
useragent = UserAgent()
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", useragent.random)
driver = webdriver.Firefox(firefox_profile=profile, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
driver.get("http://www.whatsmyua.info/")
Result of 3 consecutive execution is as follows :
First Execution :
Mozilla/5.0 (Windows NT 4.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36
Second Execution :
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.517 Safari/537.36
Third Execution :
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17
来源:https://stackoverflow.com/questions/54271599/how-to-change-user-agent-for-firefox-webdriver-in-python