java - 在 WebDriver 中处理没有 ID 或 Class 属性的 iframe

标签 java selenium

我在自动化具有 iframe 的页面时遇到了问题,

http://jqueryui.com/draggable/

这里的场景是拖放 iframe 元素内部存在的元素,因此 WebDriver 无法识别

最佳答案

选项 1:使用 CSS 选择器或 XPath

WebElement iframe = driver.findElement(By.cssSelector(".demo-frame"));
// alternative locators:
// XPath: .//iframe[@class='demo-frame']
// use src attribute
// Css Selector: iframe[src*='demos/draggable']
// XPath: .//iframe[contains(@src, 'demos/draggable')]

driver.switchTo().frame(iframe);

WebElement draggable = driver.findElement(By.id("draggable"));
// do your drag, where do you want to drop?

选项 2:使用索引(不推荐)

driver.switchTo().frame(0);

关于java - 在 WebDriver 中处理没有 ID 或 Class 属性的 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20696512/

相关文章:

java - 检查特定日期后收到的传真

java - Java EE Web 应用程序的架构

java - 如何处理开源项目中的凭据

java - 当我在 selenium 中运行该程序时,我收到以下消息。使用的Java版本是9.0.1

java - 如何使用 Selenium 和 Java 识别 <a> 中的文本

java - 有没有办法将元素从一个框架拖放到另一个框架?

JAVA:鼠标悬停在上方时 GUI 不会显示?

java - 有没有办法用 Selenium 获取/保存 DOM?

Java - 如何使用 JavaScriptExecutor 调用字符串内的变量?

java - 我们应该在java测试文件夹还是主文件夹中编写testng selenium代码?