在此处输入代码
简介:我目前正在使用 selenium 2.0 来自动测试 UI。直到昨天一切都很好,直到我遇到弹出窗口。我必须处理窗口弹出窗口。
问题: 我正在使用以下代码导航到页面=>
driver.get("http://xxx.xx.x.xxx:zzzz/yyyy/");
driver.findElement(By.name("username")).sendKeys("username");
driver.findElement(By.name("password")).sendKeys("password");
driver.findElement(By.className("rowClass")).submit();
driver.findElement(By.name("uploadfile")).click(); //this is the browse button
现在,当我单击浏览按钮时出现问题。它会打开另一个 Windows 浏览文件窗口。我需要做的是通过导航到给定路径来选择一个文件,然后选择一个特定文件,但我无法目前做同样的事情。建议是什么。有人说使用 selenium 2.0 不可能做同样的事情,而要使用 autoit 代替。如果有人知道如何做,请告诉我,否则请建议一种更好的方法完成它。谢谢并问候。
附注:
//http://seleniumhq.org/docs/03_webdriver.htmlbut中提到了这个解决方案在我的情况下不起作用
Alert alert = driver.switchTo().alert();
最佳答案
这更像是“如何在 WebDriver 中上传文件?”已提出的问题many times :)。
Selenium 2 (WebDriver) Java 示例:
// assuming driver is a healthy WebDriver instance
WebElement fileInput = driver.findElement(By.name("uploadfile"));
fileInput.sendKeys("C:/path/to/file.jpg");
这个想法是直接将文件的绝对路径发送到您通常单击以获取模式窗口的元素 - 即 <input type='file' />
元素(或您所说的 Browse
按钮)。
此外,Alert
界面仅用于弹出 JavaScript 对话框 - alert
, confirm
, prompt
.
关于java - 如何使用 selenium 2.0 (webdriver) 处理窗口弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10731978/