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

时间:2013-12-20 04:50:17

标签: java selenium

我遇到了自动化iframe页面的问题,

  

http://jqueryui.com/draggable/

此处的场景是将元素拖放到iframe元素中,因此WebDriver无法识别该元素

2 个答案:

答案 0 :(得分:2)

选项1:使用CSS Selector或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);

答案 1 :(得分:0)

对于xpath,您必须在Firefox浏览器中通过插件安装firebug和firepath。安装完成后,firebug将显示在导航栏上。你必须点击它,你可以找到firepath overhere,它将在检查员的帮助下为你提供xpath css路径等。