我有一些使用JS提交表单的HTML:
<form onsubmit="doform();return false;">
在测试脚本中,我根据我在SO和其中找到的内容执行以下操作 WWW :: Selenium docs。
$sel->get_eval("this.browserbot.getUserWindow().doform()");
普通表单提交工作正常,但在selenium代码中不起作用。
如果我将JS从js文件中删除并在测试文件中创建一个字符串,那么它可以正常工作。
my $js = "{ //do some javascript stuff here; }";
$sel->get_eval( $js ); // this works.
我的印象是,这不是正确的方法。这当然是 不可取,尤其是当函数调用其他函数时。
使用selenium提交表单的正确形式是什么?
答案 0 :(得分:1)
有一种提交表单的方法(也应该触发onsubmit javascript)。
$sel->submit($form_locator)
将提交指定的表格。 $ form_locator是您要提交的表单的元素定位器。