如何使用Selenium通过javascript从点击的<div>?</div>提交表单

时间:2012-03-14 18:08:26

标签: perl selenium selenium-rc

我在html页面中有一个div,如下所示:

<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

是不是selenium只处理某些Javascript功能?如果那样的话 不是这样,任何人都知道为什么这不会像使用鼠标那样运作?

2 个答案:

答案 0 :(得分:1)

使用Selenium firefox扩展,它可以创建用于运行selenium的任何语言的代码,它将告诉您如何执行此操作。基本上虽然有点击按钮/图像的功能。

答案 1 :(得分:0)

由于元素具有id属性,因此它应该像以下一样简单:

$ sel-&gt;点击('id = save_one');

或者也许:

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

任何一方都应该在浏览器中启动JavaScript操作。

相关问题