0
A
回答
4
我追加到使用要返回的值(.js文件)
document.body.innerHTML += '<div style="display:none;" id="some_id">' + value_to_be_returned + '</div>';
并在java中使用(in .ja VA文件)
String return_value = (String) js.executeScript("return document.getElementById('some_id').innerHTML");
5
您可以只返回在executeJavascript值:
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("return document.title");
-2
如果要执行JavaScript是同步的,则JavaScript的返回值将被分配driver.execute_script()
方法的结果 - 这可能是你所期待的,并遵循least surprise principle :
js_url = driver.execute_script("return window.location.href")
print(js_url)
如果,另一方面,你的JavaScript代码是异步的,然后在回调你可以分配结果window
对象,请等待一些预定义的时间(例如,对于AJAX reguest完成),然后从全局变量的js读取结果:
driver.execute_script("""$.ajax({
url: 'http://httpbin.org/get',
complete: function(xhr, textStatus) {
window._xhr_status = xhr.status;
}
});
""" % asset_url)
time.sleep(5)
js_status = driver.execute_script('return window._xhr_status')
print(js_status)
0
对于异步我用下面的:
driver.executeAsyncScript(“\
var callback = arguments[0]; \
$.ajax(‘someurl’) \
.success(function(data){callbacks(data)});\
“);
相关问题
- 1. 如何从javascript返回值
- 2. Selenium webdriver的Javascript函数返回值
- 3. 如何使用Selenium返回整列?
- 4. 使用Javascript从MongoDB返回值提取。
- 5. 如何从javascript函数返回值
- 6. 如何从javascript函数返回值
- 7. Javascript,如何从foreach函数返回值
- 8. 如何返回值在JavaScript
- 9. 如何从Selenium获取JavaScript值?
- 10. 用Javascript返回值
- 11. 从JavaScript返回值到Flash
- 12. 从DT返回值与JavaScript
- 13. Selenium:如何使用javascript从表单域中清除值?
- 14. 使用Selenium获取Javascript值
- 15. 如何用Selenium和Scala返回WebBrowser.Element
- 16. Selenium - 等到返回的JavaScript脚本值匹配值
- 17. 如何从Observer返回值?
- 18. 如何从$ .getJSON返回值
- 19. 如何从Action()返回值?
- 20. 如何从$ .get返回值
- 21. 如何从GM_xmlhttprequest返回值?
- 22. 如何从onDataChange返回值?
- 23. 如何从addEventListener返回值
- 24. 如何从GUI返回值?
- 25. 从Javascript函数调用返回值
- 26. 如何从使用gtk回调调用的函数返回值?
- 27. JavaScript返回值
- 28. 从javascript中返回值在javascript中
- 29. 如何使用POST [不使用jQuery]从AJAX javascript返回结果?
- 30. 从javascript回调中返回一个值
感谢@Jochen,但我在得到一个值在window.addEventListener('click',函数(e){return e},false)上的JS文件;'我想要**事件e **。 –
谢谢@Jochen这帮助。 –