2012-04-10 117 views
1

我正在使用該腳本將隱藏表單字段變量formContent的值設置爲值'Hello'。 Selenium Webdriver不會設置隱藏表單字段的值,因爲它不可見。Selenium WebDriver executeScript不起作用

這裏是我的代碼:

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');"); 

謝謝!

+0

這將有助於瞭解你打算什麼腳本做 – prestomanifesto 2012-04-10 16:25:46

+0

我使用的腳本來設置隱藏的表單字段變量formContent的值「你好」的價值。 Selenium Webdriver不會設置隱藏表單字段的值,因爲它不可見。 – Sri 2012-04-10 16:52:48

+0

請檢查它是否適用於'提醒'。 – 2012-04-10 17:33:45

回答

1

我相信這是Firefox webdriver的一個bug。嘗試返回jQuery對象時遇到過類似的情況,並描述了此處的行爲:http://code.google.com/p/selenium/issues/detail?id=3756

嘗試返回除jQuery obj以外的內容,並且它應該再次變爲響應。例如,你可以通過給它加上前綴來返回你的執行代碼的布爾值!像這樣:

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