我的窗口有三个 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
最佳答案
请提供有关您认为失败的原因的信息?
同时,试试这个:
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);
关于java - 无法 tp 切换窗口中第三个子 iframe 的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17986694/