このアドバイス を使用してJavaScriptを実行し、このスクリプトから値を返したいのですが。
次のように値を返すだけです。
Java:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return document.title");
Python:
driver.execute_script("return document.title")
(.jsファイルで)使用して返される値を追加しました:
document.body.innerHTML += '<div style="display:none;" id="some_id">' + value_to_be_returned + '</div>';
Javaを使用して(.Javaファイルで)の値にアクセスしました:
String return_value = (String) js.executeScript("return document.getElementById('some_id').innerHTML");
非同期の場合、私は以下を使用しました:
driver.executeAsyncScript(
"var callback = arguments[0];" +
"$.ajax('someurl')" +
".success(function(data){callbacks(data)});"
);