2015-04-30 1 views
2

Мне дали разрешение на очистку веб-сайта, чтобы создать базу данных продуктов. Когда нажата кнопка, вызывается функция javascript, а затем измененная информация предоставляется пользователю (изменение цвета, цены и т. Д.). При попытке очистить сайт, я хочу, чтобы можно было предсказать изменения, как если бы кнопка была нажата. Элемент в вопросе:Вызов javascript href от mojolicious

<a id="anId" title="title" class="class" data-code="code" href="javascript:aFunction('ctl00$MainContent$ctl00$ctl00$FabricGroups$ctl00$FabricOptions$ctl00$FabricButton','')"></a> 

В Mojolicious (я представляю класс UserAgent?), Как я печатаю вывод о том, что называя Javascript функция будет делать? Является ли это возможным?

ответ

1

Это, конечно, непросто. Perl не интерпретирует javascript (по крайней мере, не обычно и почти наверняка не с DOM).

То есть, я работаю на a project, чтобы помочь этому, КОТОРЫЙ НЕ ОБЯЗАТЕЛЬНО готов к производству, который тестирует JavaScript действия порождая экземпляр PhantomJS. После завершения api намеревается быть таким же простым в использовании, как и Test::Mojo. Я буду представлять его в YAPC::NA позже в году (2015).

Обновление: модуль теперь находится на CPAN, который называется Test::Mojo::Role::Phantom.

+0

Хорошо, спасибо Джоэл. Стоит ли мне играть с PhantomJS в моем скрипте Perl, чтобы узнать, могу ли я что-то издеваться над тем, что могло бы решить проблему? – Rambatino

+0

Он работает, хотя он может быть грубым. Если вы используете его для автоматического тестирования (основное внимание), вам понадобится один из последних выпусков разработки Test :: Simple, которые включают Test :: Stream. Моя самая большая претензия в том, что я не обещаю абсолютно никакой стабильности на данный момент. Большие вещи все равно изменится. –

+0

Привет, у вас есть обновление для этого ответа? Как шла речь в YAPC :: NA? – Rambatino