繁体   English   中英

如何在 Python 中更改 Firefox webdriver 的用户代理?

[英]How to change user agent for Firefox webdriver in Python?

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

我尝试使用 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)

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

一种伪造用户代理的简单方法是使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM