Как я могу изменить удаленный контроллер FireFox в Selenium Python? - PullRequest
0 голосов
/ 30 сентября 2018

Когда я загружаю FireFox через Selenium, мой браузер находится под удаленным контроллером, и изображение бота показывается в разделе URL в моем браузере.Для решения этой проблемы я изменил User-Agent следующим кодом:

from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", "whatever you want")
driver = webdriver.Firefox(profile)

User-Agent был успешно изменен, но изображение бота в разделе URL моего браузера осталось.Не могли бы вы мне помочь?Я использовал этот URL для изменения User-Agent:

Смена пользовательского агента для драйвера селена Весь мой код:

MainLink="https://blog.feedspot.com/iot_blogs/"
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

caps = DesiredCapabilities.PHANTOMJS

caps["phantomjs.page.settings.userAgent"] = "whatever you want"
driver = webdriver.Firefox()
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", "whatever you want")
driver = webdriver.Firefox(profile)
agent = driver.execute_script("return navigator.userAgent")
print(agent)
driver.get(MainLink)

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Я мог бы запустить свой код без загрузки страницы или без заголовка (безголовый браузер).из селена импорт вебдрайвер

from selenium.webdriver.firefox.options import Options
options = Options()
options.add_argument("--headless")
driver = webdriver.Firefox(firefox_options=options)
print("Firefox Headless Browser Invoked")
driver.get('https://blog.feedspot.com/iot_blogs/')

s=driver.find_element_by_xpath("""/html/body/div[1]/div[2]/div/div/div[1]/article/div[1]/h1""")
print(s.text)
0 голосов
/ 01 октября 2018

Ваш код немного сбивает с толку.Вам не нужно использовать оба phantomjs и firefox в качестве драйвера для селена.Какой из них вы собираетесь использовать?

Как я понял, вы хотели бы избежать обнаружения со страницы, с которой вы взаимодействуете.Обычно это больше беспокоит, если вы работаете с безголовым браузером , что имеет место при использовании phantomjs, но не при использовании firefox без явного указания ему работать в этом режиме, что, по-видимому, является вашим случаем.

Если у вас действительно есть проблемы такого рода, есть много способов попытаться смягчить это, начиная с изменения пользовательского агента, как вы упомянули.Предполагая, что вы хотите использовать Firefox, пример кода может быть следующим:

from selenium import webdriver

profile = webdriver.FirefoxProfile()
user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'


profile.set_preference("general.useragent.override", user_agent)
driver = webdriver.Firefox(profile)
MainLink="https://blog.feedspot.com/iot_blogs/"

driver.get(MainLink)

Кроме того, вы можете установить другой пользовательский агент каждый раз, когда вы делаете запрос, в сочетании с изменением IP-адреса, с которого запрашиваютсяконечно, но это не главное ...

Надеюсь, это поможет ...

...