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. Selenium webdriver的Javascript函數返回值
- 2. 如何使用Selenium返回整列?
- 3. 使用Javascript從MongoDB返回值提取。
- 4. 如何從javascript函數返回值
- 5. Javascript,如何從foreach函數返回值
- 6. 如何返回值在JavaScript
- 7. 用Javascript返回值
- 8. 從DT返回值與JavaScript
- 9. Selenium:如何使用javascript從表單域中清除值?
- 10. Selenium - 等到返回的JavaScript腳本值匹配值
- 11. 如何從GM_xmlhttprequest返回值?
- 12. 如何從GUI返回值?
- 13. 如何從addEventListener返回值
- 14. JavaScript返回值
- 15. 從javascript中返回值在javascript中
- 16. 如何從使用gtk回調調用的函數返回值?
- 17. 如何從exe中返回值並使用C#捕獲返回的值#
- 18. 如何從postMessage()調用中返回值?
- 19. 在jQuery中使用JavaScript返回值
- 20. 使用jquery/javascript返回未編碼值
- 21. 如何使用JavaScript返回元素innerchild?
- 22. Selenium Webdriver不返回Javascript代碼
- 23. 如何從回調中返回值?
- 24. JavaScript - 使用selenium-webdriver將內部html返回給變量?
- 25. 如何使用JavaScript顯示從RESTful API調用返回的JSON
- 26. 如何在promise中返回值javascript
- 27. 如何使用javascript返回值函數在xsl:value-of中顯示?
- 28. 如何在Genexus中使用JavaScript返回值?
- 29. 如何使用返回值在Vaadin中添加JavaScript函數?
- 30. 我如何使用PHP中的JavaScript函數返回的值?
感謝@Jochen,但我在得到一個值在window.addEventListener('click',函數(e){return e},false)上的JS文件;'我想要**事件e **。 –
謝謝@Jochen這幫助。 –