【问题标题】:How to upload an image in iframe using selenium webdriver如何使用 selenium webdriver 在 iframe 中上传图像
【发布时间】:2014-12-29 09:47:08
【问题描述】:

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

【问题讨论】:

  • driver.findElement(By.id("你的浏览器按钮 id")).click().sendKeys("C:\\Users\\pic.jpg"); - 你试过这种方式吗?
  • 我试过 driver.findElement(By.id("image_form")).sendKeys("C:\\Users\\pic.jpg");
  • 确保您的浏览id正确,图片路径正确。
  • Actullay 当我使用 senkeys 时,在浏览器底部我可以看到状态为正在上传(100%)但图像没有显示在 iframe 中,同时如果我上传图像错误的尺寸应该抛出一个味精,但没有味精显示,但状态显示为上传(100%)
  • 是否有任何按钮可供您单击然后开始上传?还是在获取路径后开始上传?

标签: java selenium iframe selenium-webdriver


【解决方案1】:

您必须在点击之前切换到该 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();

【讨论】:

    【解决方案2】:

    这是我的代码

    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();
    

    【讨论】:

    • 那你应该发帖提问。不作为答案。请使用此代码更新您的问题。
    • 所以我更新了我的代码,如果你知道答案,请告诉我正确的方法
    猜你喜欢
    • 1970-01-01
    • 2014-12-30
    • 2016-10-19
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    相关资源
    最近更新 更多