【问题标题】:How to handle windows pop ups using selenium 2.0 (webdriver)?如何使用 selenium 2.0 (webdriver) 处理窗口弹出窗口?
【发布时间】:2012-05-24 06:03:56
【问题描述】:

enter code hereBrief:我目前正在使用 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

现在当我单击浏览按钮时出现问题。它会打开另一个窗口浏览文件窗口。我需要做的是通过导航到给定路径来选择一个文件,然后选择一个特定文件,但我无法目前做同样的事情。可能是什么建议。有人说使用 selenium 2.0 做同样的事情并改用 autoit 是不可能的。如果有人知道怎么做,请让我知道,否则请提出更好的方法完成它。谢谢和问候。

PS:

//这是因为http://seleniumhq.org/docs/03_webdriver.htmlbut中的解决方案在我的情况下不起作用

Alert alert = driver.switchTo().alert(); 

【问题讨论】:

    标签: java selenium webdriver


    【解决方案1】:

    这更像是“如何在 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 对话框 - alertconfirmprompt

    【讨论】: