Selenium WebDriver executeScript无法正常工作

时间:2012-04-10 15:58:25

标签: selenium webdriver

我正在使用脚本将隐藏表单字段变量formContent的值设置为值'Hello'。 Selenium Webdriver不会设置隐藏表单字段的值,因为它不可见。

这是我的代码:

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return jQuery('input:hidden[id$=\"formContent\"]').val('Hello');");

我得到的剧本没有反应。你能告诉我这里我做错了吗? formContent在我的xhtml中定义如下:

<input type="hidden" id="formContent" name="formContent" value="" />

如果使用以下代码行,那么它不会设置隐藏表单字段“formContent”的值:

 JavascriptExecutor js = (JavascriptExecutor) driver;
 js.executeScript("jQuery('input:hidden[id$=\"formContent\"]').val('Hello');");

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为这是Firefox webdriver的一个错误。尝试返回jQuery对象并在此处描述行为时,我遇到了类似的事情:http://code.google.com/p/selenium/issues/detail?id=3756

尝试返回除jQuery obj之外的其他内容,它应该再次响应。例如,您可以通过为其添加前缀来返回已执行代码的布尔值!像这样:

js.executeScript("return !!jQuery('input:hidden[id$=\"formContent\"]').val('Hello');");