Selenium + Python + Firefox с прокси не распознает элемент и ожидание не работает - PullRequest
0 голосов
/ 26 февраля 2020
webdriver.DesiredCapabilities.FIREFOX['proxy'] = {
"httpProxy":"host:port",
"ftpProxy":"host:port",
"sslProxy":"host:port",
"proxyType":"MANUAL",
}

driver = webdriver.Firefox(firefox_options=options)
driver.get("http://bot.whatismyipaddress.com")
print(driver.page_source)

Когда я использую Selenium Firefox на моем сервере Ubuntu с прокси-сервером, этот URL и api, чтобы показать вам ваш IP-адрес, работают отлично. Я использую платный прокси от proxyrack. Это печатает всегда разные ips. Но когда я делаю что-то подобное потом,

urlStr = 'http://www.google.com/search?q=Health+Dept+Sulphur+Springs+TX&lr=lang_en'
    driver.get(urlStr) 
    try:
        element = WebDriverWait(driver,2).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "div.cXedhc,div.fYOrjf")))

Драйвер никогда не находит один из этих элементов. Даже если я сделаю тайм-аут 50 se c, он все равно не может найти элемент. Когда я не использую прокси-сервер, он работает как шарм.

Я не понимаю, в чем здесь дело. Как и работа прокси, как я понимаю из ответа, возвращенного из whatismyipaddress api, но когда я driver.get на этой странице Google, он должен найти div.cXedh c css_selector. Их трое. Я не уверен, но я плачу 60 $ за этот прокси-сервис. В этом нет проблем. Проблема в безголовом режиме на моем сервере Ubuntu. У меня много проблем с прокси в селене. Если у кого-то была подобная проблема, пожалуйста, просветите меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...