我需要自动化"浏览"从Selenium点击按钮。
为此,我尝试了
driver.findElement(By.xpath("//*[@id=\"dnn_ctr383_View_filename\"]")).click();
和
driver.findElement(By.cssSelector("Css path")).click();
两者都给我org.openqa.selenium.NoSuchElementException: Unable to locate element:
例外。
我在这里看到this链接作者建议使用AutoIT,但在第2步中,作者创建的脚本是针对IE的。有人可以建议,我如何自动化"浏览"按钮点击Firefox?
非常感谢任何帮助。
答案 0 :(得分:3)
直接将文件路径发送到id,如此
driver.findElement(By.id("dnn_ctr383_View_filename")).sendKeys("C:\\path\\to\\file");
上一步是前两步的答案
对于第三步(点击上传),查看屏幕截图我没有看到任何显示“上传”的按钮。所以只需点击“保存”即可,我认为您的文件将成功上传。
答案 1 :(得分:0)
这里有两件事你需要考虑:
单击浏览器按钮: 通常由警报或弹出窗口处理,如果驱动程序无法通过xpath找到该元素(您已获取该元素)从firebug或chrome的inspect元素)你应该考虑在页面源中查找iframe。如果一个元素完全在一个不同的帧中,你需要切换帧以便找到像这样的元素
WebElement frame = driver.findElementById("name_of_iframe");
driver.switchTo().frame(fr);
现在您可以像使用xpath或css选择器一样找到您的元素。完成后,您可以通过以下方式移出框架: - driver.switchTo().defaultContent();