【发布时间】:2019-11-05 06:55:38
【问题描述】:
我想使用异步函数调用来异步运行几个脚本,但我无法使用 javaScriprtExecutor 的 executeAsyncScript() 函数来实现它。 这里有一个小sn-p供大家参考。
我相信函数“executeAsyncScript”应该异步运行,并且第 2 行的函数调用(本质上更快)应该在 executeAsyncScript() 之前完成。但这没有发生。仅当函数 1 的执行结束(包括 5 秒延迟)时才调用第 2 行的函数调用!
谁能帮我理解我在这里看不到什么?
1. js.executeAsyncScript("window.setTimeout(arguments[arguments.length - 1], 5000);");
2. driver.findElement(By.xpath("//input")).sendKeys("Search term!!");
使用此序列,浏览器等待 5 秒,然后执行 sendkeys()。
【问题讨论】:
-
如果我要求 wat 的 AsyncScript 5000 毫秒,它将等待那个时间。这里异步并不意味着在没有响应之前跳转命令。参考 - automationbasicsselenuim.blogspot.com/2019/08/…
标签: javascript selenium selenium-webdriver