Как мне использовать Mechanize для обработки JavaScript?

StackOverflow https://stackoverflow.com/questions/802225

Вопрос

Я подключаюсь к веб-сайту, вхожу в систему.

Веб-сайт перенаправляет меня на новые страницы и механизирует все операции с файлами cookie и перенаправлением, но я не могу получить последнюю страницу.Я использовал Firebug и снова проделал ту же работу и увидел, что есть еще две страницы, которые я должен был пройти с помощью Mechanize.

Я быстро просмотрел страницы и увидел, что там есть какой-то JavaScript и HTML-код, но не смог понять его, потому что он не похож на обычный код страницы.Для чего нужны эти страницы?Как они могут перенаправлять на другие страницы?Что я должен сделать, чтобы передать их?

Это было полезно?

Решение

Если вам нужно обрабатывать страницы с помощью Javascript, попробуйте ВАТИР или Селен - они управляют настоящим веб-браузером и, таким образом, могут обрабатывать любой Javascript.Для WATIR Classic требуется либо IE, либо Firefox с установленным определенным расширением, и вы увидите, как страницы будут мигать на экране во время работы.

Другим вашим вариантом было бы понять, что делает Javascript на странице-нарушителе, и обойти его вручную, но это кажется обременительным.

Другие советы

В настоящее время Mechanize не обрабатывает JavaScript.Поговаривают о возможном слиянии Джонсонваши возможности механизируются, но пока этого не произойдет, у вас есть два варианта:

  1. Разберитесь в JavaScript достаточно хорошо, чтобы понять, как перемещаться по этим страницам.
  2. Автоматизируйте реальный браузер, который делает понимать JavaScript с помощью Ватир.

для чего нужны эти страницы?как они могут перенаправлять на другие страницы.что я должен сделать, чтобы передать их?

Иногда над этими страницами ведется работа.Иногда JavaScript используется для предотвращения автоматического доступа, подобного тому, что вы пытаетесь сделать :).На многих веб-сайтах есть ненужные проверки, чтобы убедиться, что у вас "хороший" браузер, поэтому убедитесь, что ваш user_agent настроен на что-то общее, например IE.Иногда устанавливая user_agent выглядеть как старый браузер позволит вам обойтись без JavaScript.

Автоматизация веб-сайта - это весело, потому что вам нужно перехитрить веб-сайт и его разработчиков программного обеспечения, используя множество стратегий.Как уже говорили другие, Watir - лучший инструмент для преодоления JavaScript на данный момент.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top