执行脚本时弹出窗口:
存在模式对话框:此页面上的脚本可能正忙,或者可能正在运行 已经停止响应。您现在可以停止脚本,也可以 继续查看脚本是否完整。
你能否提一下如何通过点击继续按钮来处理这个问题。请查看下面的网址以查看截图 http://i.stack.imgur.com/eXXFO.png
答案 0 :(得分:2)
这是因为驱动程序达到警报时的默认行为。默认行为 - “接受”,因此警报自动关闭。这就是switchTo().alert()
无法找到它的原因。
在创建desirecapabilities
时,您可以对其进行修改。
DesiredCapabilities dc = new DesiredCapabilities();
dc.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.IGNORE);
WebDriver driver = new FirefoxDriver(dc);
要处理,
// untill timeout
try {
Alert alt = driver.switchTo().alert();
alt.accept();
} catch(NoAlertPresentException noe) {
// no alert.
}
答案 1 :(得分:0)
尝试在Firefox配置文件中设置以下值 -
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("dom.max_chrome_script_run_time", 0);
profile.setPreference("dom.max_script_run_time", 0);
WebDriver driver = new FirefoxDriver(profile);
答案 2 :(得分:0)
尝试以下方法。通过Web URL截屏时,这对我来说非常有用。
Alert alert = driver.switchTo().alert();
String alertText = alert.getText();
System.out.println("ERROR: (ALERT BOX DETECTED) - ALERT MSG : " + alertText);
alert.accept();
File outputFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
String imageDetails = "C://Images";
File screenShot = new File(imageDetails).getAbsoluteFile();
FileUtils.copyFile(outputFile, screenShot);
System.out.println("Screenshot saved: {}" + imageDetails);
driver.close();