1
Execute Javascript  $('*:contains("Success"))

このステートメントが成功したかどうかを確認する方法はありますか? 何かを変数に返して、変数の値を確認できますか?

たとえば

${var1} = Execute Javascript  $( )
if ${var1} = ""
4

1 に答える 1

1

SeleniumLibrary を使用している場合は、Selenium WebDriver ではなくSelenium RC を使用します (最初に質問にタグを付けたように)。

したがって、はい、Selenium RC のgetEval()メソッドは を返すためString、スクリプトから値を返すことはできStringますが、それ以上のことはできません。

指定された JavaScript スニペットを評価した結果を取得します。スニペットには複数の行が含まれる場合がありますが、最後の行の結果のみが返されます。

JavaScript スニペットにステートメントは必要ありませんreturn。最後の行が常に返されます。


Selenium2Library を使用している場合は、ドキュメントにもそう書かれています。

executeScript()これは、次のように言うWebDriver を内部的に使用します。

スクリプトに戻り値がある場合 (つまり、スクリプトに return ステートメントが含まれている場合)、次の手順が実行されます。

  • HTML 要素の場合、このメソッドはWebElement
  • 10 進数の場合、aDoubleが返されます
  • 10 進数以外の場合、aLongが返されます。
  • ブール値の場合、 aBooleanが返されます
  • それ以外の場合は、aStringが返されます。
  • 配列の場合、List<Object>上記の規則に従って各オブジェクトで を返します。ネストされたリストをサポートしています。
  • 値が返さnullれるか、返される値がない場合を除きます。null
于 2013-02-28T12:14:04.923 に答える