3 回答
TA贡献1876条经验 获得超6个赞
您可以使用cssSelector,
driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[title='Fill Quote']")));
TA贡献1815条经验 获得超6个赞
driver.switchTo().frame() 有多个重载。
driver.switchTo().frame(name_or_id)
在这里,您iframe没有ID或名称,因此不适合您。
driver.switchTo().frame(index)
这是最后选择的选项,因为使用索引不够稳定,可以想象。如果这是您页面中唯一的iframe,请尝试driver.switchTo().frame(0)
driver.switchTo().frame(iframe_element)
最常见的一种。您可以像其他元素一样定位iframe,然后将其传递到方法中。
在这里按title属性定位似乎是最好的。
driver.switchTo().frame(driver.findElement(By.cssSelector("iframe[title='Fill Quote']")));
// driver.switchTo().frame(driver.findElement(By.xpath(".//iframe[@title='Fill Quote']")));
TA贡献1806条经验 获得超8个赞
在切换到框架之前,请确保切换到默认内容:
driver.switchTo().defaultContent();
driver.switchTo().frame(x);
x可以是帧编号,也可以是a driver.findlement并使用可用的任何选项,例如:driver.findElementByName("Name")。
- 3 回答
- 0 关注
- 841 浏览
添加回答
举报