Я использую простой скрипт phantomjs webdriver для обновления некоторых объявлений на preloved.co.uk. Этот скрипт работал отлично до недавнего времени, но затем начал сбой с ошибкой «Нажмите представленную, но загруженную с ошибкой» после того, как была нажата ссылка для входа в систему. В соответствии с this я обновил мою версию phantomjs до последней стабильной версии, 1.9.7 после руководства here. Однако теперь клик входа в систему не регистрируется, и страница не перезагружается.Webdriver phantomjs больше не ссылается на ссылку
Первый шаг - просто перейти на страницу входа в систему.
from selenium import webdriver
br = webdriver.PhantomJS(service_log_path='/path/to/logfile.log')
url = "http://www.preloved.co.uk"
br.get(url)
# Go to login page
login_button = br.find_element_by_xpath('//div[@id="header-status-login"]/a')
login_button.click()
Обычно (и если вы замените строку браузера с br = webdriver.Firefox()
, например), это приводит к перегрузке на страницу входа, и сценарий исходит оттуда, но теперь появляется щелчок не загружает новую страницу в все и br.current_url
по-прежнему 'http://www.preloved.co.uk/'
Почему эта загрузка не работает?
Даже если я извлечь HREF и сделать явный GET это, кажется, не следуют и перезагружать:
newurl=login_button.get_attribute('href')
br.get(newurl)
br.current_url
по-прежнему «http://www.preloved.co.uk/».
Вижу, спасибо! Не могли бы вы сказать еще немного о том, как реализовать этот патч обезьяны в моем маленьком скрипте выше ... – fpghost
Я добавил подкласс, а не патч обезьяны. Теперь я вижу, что вы используете 'service_log_path'. Правильно ли он регистрируется? –
Во-первых, 'br = PhantomJSService (service_args = ['- ssl-protocol = any',])' отлично работает с подклассом, поэтому спасибо за это. Что касается протоколирования, я не совсем уверен, что делать с 'service_log_path' сейчас, передавая его как аргумент' 'PhantomJSService' '' с неожиданным ключевым словом, и передача его в список service_args также не выполняется с' невозможно подключиться к GhostDriver' – fpghost