Java 如何使用SeleniumWebDriver在iframe中上载图像

Java 如何使用SeleniumWebDriver在iframe中上载图像,java,selenium,iframe,selenium-webdriver,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"); }

我有一个浏览按钮,点击该按钮后,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();

在单击之前,必须切换到该iframe

driver.switchTo().frame(driver.findElement(按.tagName(“iframe”))

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

然后使用你的代码

所以

driver.switchTo().frame(driver.findElement(按.tagName(“iframe”))

WebElement=driver.findElement(By.id(“image_form”)

Actions动作=新动作(驱动程序)

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

元素。单击()

这是我的代码

驱动程序.切换到().帧(0)


driver.findElement(By.id(“您的浏览器按钮id”))。单击().sendKeys(“C:\\Users\\pic.jpg”);-你是这样尝试的吗?我用driver.findElement(By.id(“image_form”)).sendKeys(“C:\\Users\\pic.jpg”);确保您的浏览id正确且图片路径正确。实际上,当我使用senkeys时,在浏览器底部,我可以看到上载状态(100%),但图像未显示在iframe中,同时,如果我上传的图像尺寸错误,它应该抛出一个消息,但没有消息显示,但状态显示为上传(100%),是否有任何按钮,你点击,然后开始上传?或者它在获得路径后开始上传?然后你应该用问题发帖。答案并非如此。请用这个代码更新你的问题。所以我更新了我的代码,如果你知道答案,请告诉我正确的方法
  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();