【发布时间】:2019-10-15 07:17:11
【问题描述】:
试图在页面中找到并切换到iframe,但显示iframe的数量为0。
iframe 存在于 html 代码中。
HTML代码:
<iframe id="walkme-native-functions" style="display: none; position: absolute;"></iframe>
<iframe id="walkme-proxy-iframe" src="about:blank" style="display: none; visibility: hidden;"></iframe>
Java 代码:
List<WebElement> frames=chromeSelDriver.findElements(By.tagName("iframe"));
System.out.println(frames.size());
System.out.println(frames);
chromeSelDriver.switchTo().frame(0);
HTML代码:
<iframe id="walkme-native-functions" style="display: none; position: absolute;"></iframe>
<iframe id="walkme-proxy-iframe" src="about:blank" style="display: none; visibility: hidden;"></iframe>
Java 代码输出:
0
[]
【问题讨论】:
-
Html 代码:
-
我认为这是因为框架是隐藏且不可见的。 (显示:无;可见性:隐藏;)
-
或者在找到帧之前尝试下面的代码: WebDriverWait wait = new WebDriverWait(driver, 20); wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.tagName("iframe")));
-
另外,您的代码中有错字,指的是 frame(0) 而不是 frames(0) 您缺少“s”