【问题标题】:How to change user agent for Firefox webdriver in Python?如何在 Python 中更改 Firefox webdriver 的用户代理?
【发布时间】:2019-01-20 05:40:26
【问题描述】:

我正在构建一个搜索机器人,我希望它从桌面更改为移动

我尝试使用 profile.set_preferences 但由于某种原因它不会改变。它不会给出编译时间错误,但不会更改用户代理。我也尝试设置所需的功能,但也没有用。

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)

我希望它作为普通浏览器搜索一次,然后作为移动设备搜索,但它只是作为普通浏览器搜索两次,我确信我会增加计数。

【问题讨论】:

    标签: python selenium firefox user-agent geckodriver


    【解决方案1】:

    伪造用户代理的简单方法是使用FirefoxProfile(),如下所示:

    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/")
    

    连续3次执行结果如下:

    1. 第一次执行:

      Mozilla/5.0 (Windows NT 4.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36
      
    2. 第二次执行:

      Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.517 Safari/537.36
      
    3. 第三次执行:

      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
      

    【讨论】:

    • 我刚试过这个,它仍然是一样的。它仍然只能作为常规浏览器打开。
    • 这可能是 webdriver 二进制文件的问题吗?我已经使用 selenium webdrivers 超过 5 个月了,上次我需要交换用户代理很容易,我使用了 desired_capabilities,但后来我使用了 chrome。现在使用 firefox webdriver 它给了我错误或者它没有按预期运行。
    • @SuperSimplePimpleDimple 您的问题不是关于更改 UserAgent 吗?每次常规浏览器都将仅使用随机的 UserAgent 打开。
    • 是的,但它不会使用随机用户代理打开。它作为常规浏览器打开。
    • @SuperSimplePimpleDimple 无法评论移动设备的具体情况。但在每次运行时,UserAgent 都会有所不同。就是这样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 2017-11-24
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    相关资源
    最近更新 更多