java - 如何使用 selenium 2.0 (webdriver) 处理窗口弹出窗口?

标签 java selenium webdriver

在此处输入代码简介:我目前正在使用 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/

相关文章:

java - 当你在java中执行gettext时如何获取没有/n/t的字符串

javascript - 如何使用 Selenium 读取 javascript 变量?

java - 如何从搜索返回的元素列表中单击随机元素

java - 如何为对象的 ArrayList 创建 toString 方法?

java - 如何初始化基于 Java 枚举的 Singleton?

java - 如何计算单词之间有空格的字符串中单词的确切数量?

java - 业务对象中的应用程序上下文

java - 无法找到窗口 - Selenium Webdriver 错误

java - 文件路径声明对 Main 方法中的方法调用不可见

firefox - Webdriver:在 Firefox 中单击 "Share Location"按钮