В настоящее время я тестирую сайт с python-selenium, и до сих пор он работает довольно хорошо.Я использую webdriver.Firefox()
, потому что это значительно облегчает процесс разработки, если вы видите, что на самом деле делает программа тестирования.Однако тесты очень медленные.В какой-то момент программа должна нажать на 30 элементов, чтобы добавить их в список, что занимает около 40 секунд, потому что браузер реагирует так ужасно медленно.Поэтому после поиска в Google, как сделать селен быстрее, я подумал об использовании браузера без головы, например, webdriver.PhantomJS()
.
Однако проблема в том, что веб-сайту требуется логин, включающий капчу в начале.Прямо сейчас я ввожу капчу вручную в браузере Firefox.Когда я переключаюсь на браузер без монитора, я больше не могу этого делать.
Поэтому я хотел открыть сайт в Firefox, войти в систему и вручную ввести код с картинки.Затем я продолжаю сеанс в безголовом PhatomJS, что позволяет мне быстро запускать код.Таким образом, в основном речь идет о изменении среднего кода используемого драйвера .
Я знаю, что драйвер полностью очищен при создании.Поэтому, если я создам новый драйвер после входа в Firefox, я выйду из системы в другом драйвере.Так что, думаю, мне нужно было бы передать некоторую информацию о сеансе между двумя драйверами.
Может ли это как-то сработать?Если да, как я могу это сделать?Честно говоря, я не знаю много о реальной функциональности веб-крючков, куки-файлов и хранении информации о входе в систему в целом.Итак, как бы вы, ребята, справились с этой проблемой?
С нетерпением жду ваших ответов, Тобиас
Примечание: я уже задавал похожий вопрос, который был помечен как дубликат этого.Тем не менее, другой вопрос обсуждает, как восстановить соединение с браузером после выхода из сценария.Это не то, что я собираюсь сделать.Я хочу изменить средний скрипт используемого драйвера, оставаясь в системе на сайте.Поэтому я удалил свой старый вопрос и создал этот новый, более подходящий.Я надеюсь, что все в порядке.