Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何从selenium访问javascript并提交表单?_Perl_Selenium - Fatal编程技术网

Perl 如何从selenium访问javascript并提交表单?

Perl 如何从selenium访问javascript并提交表单?,perl,selenium,Perl,Selenium,我有一些使用JS提交表单的html: <form onsubmit="doform();return false;"> 正常表单提交工作正常,但在selenium代码中不起作用 如果我从JS文件中取出JS并在测试文件中生成一个字符串,它就可以正常工作 my $js = "{ //do some javascript stuff here; }"; $sel->get_eval( $js ); // this works

我有一些使用JS提交表单的html:

<form onsubmit="doform();return false;">
正常表单提交工作正常,但在selenium代码中不起作用

如果我从JS文件中取出JS并在测试文件中生成一个字符串,它就可以正常工作

my $js = "{ //do some javascript stuff here; }";
$sel->get_eval( $js );                              // this works.
但我的印象是,这不是正确的方法。当然是 不可取,尤其是当函数调用其他函数时


使用selenium提交表单的正确表单是什么?

有一种提交表单的方法(该方法还应触发onsubmit javascript)

发件人:


将提交指定的表格$表单定位器是您要提交的表单的元素定位器。

感谢您的回复。这是正确的,事实上我就是这么做的。我同时在做两个不同的测试,把它们弄糊涂了。对于表单,错误发生在提交之后。我遇到的实际问题是这里的一半,我想我会开始一个新问题。
my $js = "{ //do some javascript stuff here; }";
$sel->get_eval( $js );                              // this works.
$sel->submit($form_locator)