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 Web ドライバーのバグだと思います。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 に答える