Как вы получаете доступ к JavaScript из селена и отправляете форму? - PullRequest
0 голосов
/ 13 марта 2012

У меня есть html, который использует JS для отправки формы:

<form onsubmit="doform();return false;">

В тестовом скрипте я делаю следующее, основываясь на том, что я нашел здесь в SO и в документации WWW :: Selenium.

$sel->get_eval("this.browserbot.getUserWindow().doform()");

Нормальная отправка формы работает нормально, но не работает в коде селена.

Если я вычеркну JS из файла js и сделаю строку в тестовом файлеэто прекрасно работает.

my $js = "{ //do some javascript stuff here; }";
$sel->get_eval( $js );                              // this works.

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

Какова правильная форма использования селена для отправки формы?

1 Ответ

1 голос
/ 14 марта 2012

Существует метод для отправки формы (который также должен запускать javascript при отправке).

От WWW :: Selenium :

$sel->submit($form_locator)

Отправитуказанная форма.$ form_locator - это локатор элементов формы, которую вы хотите отправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...