Как вы отправляете форму, используя Selenium, через javascript, по нажатию <div>? - PullRequest
0 голосов
/ 14 марта 2012

У меня есть div на html-странице, например:

<div id="save_one" onclick="save_one()" >Save Contact Info</div>

save_one () получает все данные формы в форме ниже и сохраняет с помощью вызова ajax.

Нажатие div должно сохранить содержимое, и это делается с помощью мыши, но я не удалось заставить его работать с Selenium.

На странице есть

<img onclick='edit_table()'> 

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

Когда я пытаюсь отправить его, используя div, показанный выше, он не работает, если я не извлеку скрипт из файла .js и запустите его с Selenium, используя:

$sel->get_eval( $js_save_one );   # $js_save_one is the js sub in a string in the perl 
                                  # test file

Это тот случай, когда селен обрабатывает только определенные функции Javascript? Если это не тот случай, кто-нибудь знает, почему это не будет работать, как с помощью мыши?

Ответы [ 2 ]

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

Используя расширение Selenium firefox, он может создать код для любого языка, на котором вы используете селен, и расскажет вам, как это сделать.В основном, хотя есть функция для нажатия кнопки / изображения.

0 голосов
/ 14 марта 2012

Поскольку элемент имеет атрибут id, он должен быть простым:

$ sel-> click ('id = save_one');

Или, возможно:

$sel->mouse_down( 'id=save_one' );
$sel->mouse_up( 'id=save_one' );

Либо нужно запустить действие JavaScript в браузере.

...