我的窗口有三个iframe,我可以切换到层次结构中的前两个帧并执行操作,但无法将上下文切换到第三个帧。
我可以切换到FWin0
和Content0
框架并在屏幕上设置/获取值,但无法将上下文切换为content
iframe。我尝试了所有可能的选择。
driver.switchTo().frame("FWin0"); - Works fine
driver.switchTo().frame("Content0"); - Works fine
driver.switchTo().frame("contnet"); - Fails, I tried integer options too
答案 0 :(得分:2)
请提供您认为失败的原因信息?
同时,试试这个:
driver.switchTo().defaultContent(); // switch out of all frames
List<WebElement> frames = driver.findElements(By.cssSelector("iframe"));
// print out the frames.size()
driver.switchTo().frame("FWin0");
driver.switchTo().frame("Content0");
frames = driver.findElements(By.cssSelector("iframe"));
// print out the frames.size() again
// find frame element and switch to
WebElement contentFrame = driver.findElement(By.cssSelector("#content"));
// alternative css locator: By.cssSelector("iframe[id='content']")
// alternative css locator: By.cssSelector("iframe[name='content']")
// alternative css locator: By.cssSelector("iframe[src*='customSearch']")
// alternative xpath locator: By.xpath("//iframe[contains(@src, 'customSearch')]")
driver.switchTo().frame(contentFrame);