1

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

这是我的代码:

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

我得到的脚本没有响应。你能告诉我我在这里做错了什么吗?在我的formContentxhtml 中定义如下:

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

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

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

谢谢!

4

1 回答 1

1

我相信这是 Firefox 网络驱动程序的错误。我在尝试返回 jQuery 对象时遇到了类似的情况,并在此处描述了该行为:http ://code.google.com/p/selenium/issues/detail?id=3756

尝试返回 jQuery obj 以外的其他内容,它应该会再次响应。例如,您可以返回执行代码的布尔值,只需在其前面加上 !! 像这样:

js.executeScript("return !!jQuery('input:hidden[id$=\"formContent\"]').val('Hello');");
于 2012-04-20T04:24:24.483 回答