Как мне использовать Mechanize для обработки JavaScript?
-
03-07-2019 - |
Вопрос
Я подключаюсь к веб-сайту, вхожу в систему.
Веб-сайт перенаправляет меня на новые страницы и механизирует все операции с файлами cookie и перенаправлением, но я не могу получить последнюю страницу.Я использовал Firebug и снова проделал ту же работу и увидел, что есть еще две страницы, которые я должен был пройти с помощью Mechanize.
Я быстро просмотрел страницы и увидел, что там есть какой-то JavaScript и HTML-код, но не смог понять его, потому что он не похож на обычный код страницы.Для чего нужны эти страницы?Как они могут перенаправлять на другие страницы?Что я должен сделать, чтобы передать их?
Решение
Если вам нужно обрабатывать страницы с помощью Javascript, попробуйте ВАТИР или Селен - они управляют настоящим веб-браузером и, таким образом, могут обрабатывать любой Javascript.Для WATIR Classic требуется либо IE, либо Firefox с установленным определенным расширением, и вы увидите, как страницы будут мигать на экране во время работы.
Другим вашим вариантом было бы понять, что делает Javascript на странице-нарушителе, и обойти его вручную, но это кажется обременительным.
Другие советы
В настоящее время Mechanize не обрабатывает JavaScript.Поговаривают о возможном слиянии Джонсонваши возможности механизируются, но пока этого не произойдет, у вас есть два варианта:
- Разберитесь в JavaScript достаточно хорошо, чтобы понять, как перемещаться по этим страницам.
- Автоматизируйте реальный браузер, который делает понимать JavaScript с помощью Ватир.
для чего нужны эти страницы?как они могут перенаправлять на другие страницы.что я должен сделать, чтобы передать их?
Иногда над этими страницами ведется работа.Иногда JavaScript используется для предотвращения автоматического доступа, подобного тому, что вы пытаетесь сделать :).На многих веб-сайтах есть ненужные проверки, чтобы убедиться, что у вас "хороший" браузер, поэтому убедитесь, что ваш user_agent
настроен на что-то общее, например IE.Иногда устанавливая user_agent
выглядеть как старый браузер позволит вам обойтись без JavaScript.
Автоматизация веб-сайта - это весело, потому что вам нужно перехитрить веб-сайт и его разработчиков программного обеспечения, используя множество стратегий.Как уже говорили другие, Watir - лучший инструмент для преодоления JavaScript на данный момент.