我是 webdriver 的新手,我从不同的博客中学习了如何处理 JS 警报。我找不到我的问题解决方案。实际上,当我要在 Firefox 中接受我的 js 警报时,相同的代码可以正常工作,但是一旦我将浏览器更改为 Chrome,即使我在它不起作用之前和之后等待驱动程序,它也会引发异常。我做错了什么?
driver.findElement(By.xpath(".//*[xxxxxx]")).click();
wait.until(ExpectedConditions.alertIsPresent());
Alert al = driver.switchTo().alert();
wait.until(ExpectedConditions.alertIsPresent());
String Alert1 = al.getText();
al.accept();
System.out.println(Alert1);
Assert.assertEquals(Alert1, "xxxxxxx");
最佳答案
您可以通过将 ChromeDriver 的版本更改为 v2.18 来解决问题。
我在尝试处理 iframe 中出现的警报时遇到了同样的错误。我终于将 ChromeDriver 的版本更改为 v2.18,并且我的测试通过了。
ChromeDriver 的这个错误问题可能与您的问题有关。 https://bugs.chromium.org/p/chromedriver/issues/detail?id=1224&colspec=ID%20Status%20Pri%20Owner%20Summary 此问题已在 ChromeDriver v2.19、v2.20 和 v2.21 中发现。
关于java - WebDriver 不接受 Chrome 中的 js 警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34310026/