Создание запроса JavaScript через Ruby

Извините, если название сбивает с толку.

Я пытаюсь очистить веб-сайт своей работы, чтобы обновить свое расписание. Я использую Ruby с Mechanize. Я успешно вошел на веб-сайт своей работы, однако после входа в систему все ссылки, идущие вперед, являются ссылками JavaScript, с которыми Mechanize не очень хорошо работает.

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

Код за ссылкой:

<a href="JavaScript:document.getElementById('schedForm').submit()">My Work Schedule </a>

Как я могу решить эту проблему в Ruby? Какие-либо предложения?


person Rickmasta    schedule 24.02.2013    source источник


Ответы (2)


При переходе по ссылке открывается форма. Чтобы сделать то же самое с механизацией:

page.form(:id => 'schedForm').submit
person pguardiario    schedule 24.02.2013
comment
Не могу поверить, что это было так просто. Большое спасибо. Я собирался усложнить этот проект во много раз. - person Rickmasta; 25.02.2013
comment
Да, обычно есть простое решение. Сдаться и перейти на ватир — почти всегда ошибка. - person pguardiario; 25.02.2013

Насколько мне известно, Mechanize не может выполнять вызовы JavaScript. Если вам нужно взаимодействовать с JavaScript, я бы порекомендовал Watir.

person fmendez    schedule 24.02.2013
comment
Mechanize может вызвать URL-адрес, который сделал бы JavaScript, но не может интерпретировать JavaScript. Watir тоже не может, но браузер, которым управляет Watir, может, и Watir может запросить у браузера его состояние до и после. - person the Tin Man; 25.02.2013
comment
Вы абсолютно правы, я не правильно сформулировал свой ответ. - person fmendez; 25.02.2013