WebDriver 有一个阻塞 API,它将始终等待页面加载。相反,您可以通过 JavaScript 按下按钮,即触发其 onclick 事件。我对 Ruby 不熟悉,但在 Java 中它是:
WebDriver driver = ....; // Init WebDriver
WebElement button = ....; // Find your element for clicking
String script = "if (document.createEventObject){"+
"return arguments[0].fireEvent('onclick');"+
"}else{"+
"var evt = arguments[0].ownerDocument.createEvent('MouseEvents');"+
"evt.initMouseEvent('click',true,true,"+
"element.ownerDocument.defaultView,1,0,0,0,0,false,"+
"false,false,false,1,null);"+
"return !element.dispatchEvent(evt);}" ;
((JavascriptExecutor)driver).executeScript(script, button);
Run Code Online (Sandbox Code Playgroud)
之后您可以等待 2 秒然后继续
| 归档时间: |
|
| 查看次数: |
4031 次 |
| 最近记录: |