在我的应用程序中,我正在处理一个窗口,当我们使用selenium WebDriver和java点击特定的web元素时,该窗口会关闭。 在这里我可以点击窗口,窗口正在关闭,但下一行代码没有被执行,没有错误或异常,它只是无限期地等待。可以任何人找到我同样的解决方案?
答案 0 :(得分:0)
似乎在点击butoon和关闭窗口之后,由于一些未知原因,驱动程序仍在等待从Click()获得响应。所以我建议不要使用element的Click()方法。使用javascript点击它。
尝试以下代码:
driver.manage().timeouts().setScriptTimeout(20, TimeUnit.SECONDS);
WebElement closeBtn= webDriver.findElement(btn_locator);
JavascriptExecutor executor = (JavascriptExecutor) webDriver;
executor.executeScript("arguments[0].click();", closeBtn);
if" executor.executeScript"不起作用然后尝试" executor.executeAsyncScript":
executor.executeAsyncScript("arguments[0].click();", closeBtn);
如果您已切换到新窗口,请切换回主窗口
答案 1 :(得分:-1)
关闭窗口后写下面的代码: 首先尝试这个
driver.switchTo().defaultContent();
如果上述代码不起作用,请尝试以下代码。
driver.switchTo().activeElement()