如何使用selenium webdriver在iframe中上传图像

时间:2014-12-29 09:47:08

标签: java selenium iframe selenium-webdriver

我点击该按钮后有一个浏览按钮,打开了iframe。选择文件类型文件存在于iframe上。我无法点击该选择文件。

 driver.switchTo().frame(0);

Thread.sleep(2000);

 if (selenium.isTextPresent("Upload Your Own Image")) { 

     System.out.println("present");

  }
 else     
 {

System.out.println("No");

}

  Thread.sleep(1000);

WebElement element = 
             driver.findElement(By.id("image_form"));

              Actions action = new Actions(driver);

             action.moveToElement(element).build().perform();

            element.click();

2 个答案:

答案 0 :(得分:0)

在点击

之前,您必须切换到该iframe

driver.switchTo().frame(driver.findElement(By.tagName("iframe")));

如果页面中只有一个iframe,则适用(否则将元素指向By。其他选择器)

然后使用您的代码。

所以

driver.switchTo().frame(driver.findElement(By.tagName("iframe")));

WebElement element = driver.findElement(By.id("image_form"));

Actions action = new Actions(driver);

action.moveToElement(element).build().perform();

element.click();

答案 1 :(得分:-1)

这是我的代码

driver.switchTo()帧(0);

  Thread.sleep(2000);

  if (selenium.isTextPresent("Upload Your Own Image")) {
    System.out.println("present");
}else {
    System.out.println("No");
}
      Thread.sleep(1000);
    WebElement element = 
                 driver.findElement(By.id("image_form"));
                  Actions action = new Actions(driver);
                 action.moveToElement(element).build().perform();
                element.click();