Как изменить пользовательский агент для веб-драйвера Firefox в Python? - PullRequest
0 голосов
/ 20 января 2019

Я создаю поискового бота и хочу, чтобы он изменился с рабочего стола на мобильный

Я пытался использовать 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)

Я хочу, чтобы он выполнял поиск один раз как обычный браузер, а затем - как мобильное устройство, но он просто выполняет поиск как обычный браузер оба раза, и я уверен, что я увеличиваю счет.

1 Ответ

0 голосов
/ 20 января 2019

Простой способ подделать Пользовательский агент будет использовать 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
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...