Java 如何使用SeleniumWebDriver在iframe中上载图像
我有一个浏览按钮,点击该按钮后,iframe被打开。选择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"); }
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();