我正在尝试在浏览器堆栈上运行我的selenium脚本,同时在切换到框架时运行脚本面临问题。有时它确实有,但有时没有。 是否有任何永久的解决方案。
driver.switchTo().defaultContent();
List iframeElements = driver.findElements(By.tagName("iframe"));
System.out.println("The total number of iframes are " + iframeElements.size());
WebElement frame = driver.findElement(By.tagName("iframe"));
driver.switchTo().frame(frame); Thread.sleep(5000);
driver.switchTo().defaultContent();
答案 0 :(得分:0)
您可以等到帧可用,如下所示。它可能对你有帮助。
WebElement frame = driver.findElement(By.tagName("iframe"));
WebDriverWait wait = new WebDriverWait(driver, 90);
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(frame));