driver.findElement(By.xpath("")).click();
String path = "C:\\FileUpload.Av3.exe";
driver.findElement(By.xpath (")).click(); - Browse Button in Web application
try {
Runtime.getRuntime().exec(path); - Execute AutoIT .exe file
} catch (IOException e) {
e.printStackTrace();
}
这适用于AutoIt。
在第3行之后,执行将不会继续,并且控件不会从Firefox传递回Selenium。
答案 0 :(得分:4)
Selenium WebDriver无法处理它。使用sendKeys
在文件输入元素中插入文件的本地路径:
String path = "C:\FileUpload.Av3.exe";
driver.findElement(By.xpath("/path/to/the/file/input/element")).sendKeys(path);
答案 1 :(得分:0)
删除try-catch块并仅使用以下代码。让我知道它是否有效。
driver.findElement(By.xpath("")).click();
driver.findElement(By.xpath (")).click(); - Browse Button in Web application
String path = "C:\\FileUpload.Av3.exe";
Runtime.getRuntime().exec(path); - Execute AutoIT .exe file
答案 2 :(得分:0)
Click调用是一个阻塞调用,在加载页面之前不会返回。由于单击会打开一个对话框,因此在关闭对话框之前不会返回单击。
要解决此问题,请在单独的线程中调用Click,然后调用AutoIt脚本。一旦AutoIt脚本关闭对话框,点击将返回,其余的测试可以继续。
答案 3 :(得分:0)
点击“下载Excel”链接后,我也遇到了同样的问题。为解决此问题,我使用JavascriptExecutor
来恢复执行控制。
js.executeScript("arguments[0].click();", button);