【发布时间】:2015-12-16 10:50:33
【问题描述】:
我是 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");
【问题讨论】:
-
你看到了什么异常?
-
这里是例外。线程“main” org.openqa.selenium.WebDriverException 中的异常:未知错误:无法从未知错误中确定加载状态:未处理的检查器错误:{“code”:-32000,“message”:“内部错误:结果不是对象“}(会话信息:chrome=47.0.2526.106)(驱动程序信息:chromedriver=2.20.353145(343b531d31eeb933ec778dbcf7081628a1396067),平台=Windows NT 10.0 x86_64)(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:78毫秒
-
嗨,试试 Thread.sleep(3000);如果我的脚本中出现警报,它的效果很好。无论如何,在这里您也可以尝试使用 javascriptExecutor。
标签: java google-chrome selenium selenium-webdriver