我想在不使用Auto it工具的情况下从本地上传文件。所以我用Action event
点击了Browse按钮。我正在使用sendKeys
通过以下代码发送文件的路径:
"driver.findElement(By.xpath("//input[@type='file']")).sendKeys("path of file");"
我收到"org.openqa.selenium.UnhandledAlertException: Modal dialog present: "
错误。
我无法处理此异常。
请有人帮我这样做......
答案 0 :(得分:0)
您必须先关闭发送密钥之前的警报。你可以这样做:
Alert alert = driver.switchTo().alert();
// Prints text and closes alert
System.out.println(alert.getText());
alert.accept(); // or alert.dismiss();
或者如果你不需要你可以做的消息
alert.accept();
修改强>
另一种方法是将代码包装在try-catch中:
try{
driver.findElement(By.xpath("//input[@type='file']")).sendKeys("path of file");
} catch(UnhandledAlertException e){
Alert alert = driver.switchTo().alert();
alert.accept();
driver.findElement(By.xpath("//input[@type='file']")).sendKeys("path of file");
}
这显然是一个肮脏的解决方案,但您可以使用它来检查上面的代码是否适合您。然后你可以根据自己的需要自己清理它。