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. У меня много проблем с прокси в селене. Если у кого-то была подобная проблема, пожалуйста, просветите меня.