java selenium 找不到 iframe 路径
java selenium cant find iframe path
我正在尝试进入 iframe,但出现如下错误:
Find element :By.id: fullscreen-app-host
Find element :By.id: fullscreen-app-host
Get Exception: no such element: Unable to locate element: {"method":"css selector","selector":"#fullscreen\-app\-host"}
这是 iframe css:
<iframe class="publishedAppIframe" tabindex="0" aria-hidden="false" id="fullscreen-app-host" scrolling="no" frameborder="0" name="fullscreen-app-host" allow="geolocation; microphone; camera; fullscreen" style="" title="holidays" cd_frame_id_="6a1f85c52ae"></iframe>
我尝试了很多不同的方法,但结果总是几乎相同 - 无法在 iframe 中找到元素。
这里我将 link 粘贴到我使用的方法代码中:
https://www.codepile.net/pile/7eygVLY3
您的代码:
public void selectIframe() {
String parent = driver.getWindowHandle();
for (String childHandle : driver.getWindowHandles()) {
if (!childHandle.equals(parent)) {
driver.switchTo().frame(childHandle);
}
}
}
问题:
iframe 不是 window,它是您不能使用的元素:
driver.switchTo().frame(childHandle);
如果你想切换到 window 然后使用:
driver.switchTo().window(childHandle);
如果你想切换 iframe ,找到那个 iframe 然后切换到它
例如:
frame = driver.findElement(By.TAGNAME("iframe"));
driver.switchTo().frame(frame);
我正在尝试进入 iframe,但出现如下错误:
Find element :By.id: fullscreen-app-host
Find element :By.id: fullscreen-app-host
Get Exception: no such element: Unable to locate element: {"method":"css selector","selector":"#fullscreen\-app\-host"}
这是 iframe css:
<iframe class="publishedAppIframe" tabindex="0" aria-hidden="false" id="fullscreen-app-host" scrolling="no" frameborder="0" name="fullscreen-app-host" allow="geolocation; microphone; camera; fullscreen" style="" title="holidays" cd_frame_id_="6a1f85c52ae"></iframe>
我尝试了很多不同的方法,但结果总是几乎相同 - 无法在 iframe 中找到元素。
这里我将 link 粘贴到我使用的方法代码中: https://www.codepile.net/pile/7eygVLY3
您的代码:
public void selectIframe() {
String parent = driver.getWindowHandle();
for (String childHandle : driver.getWindowHandles()) {
if (!childHandle.equals(parent)) {
driver.switchTo().frame(childHandle);
}
}
}
问题:
iframe 不是 window,它是您不能使用的元素:
driver.switchTo().frame(childHandle);
如果你想切换到 window 然后使用:
driver.switchTo().window(childHandle);
如果你想切换 iframe ,找到那个 iframe 然后切换到它
例如:
frame = driver.findElement(By.TAGNAME("iframe"));
driver.switchTo().frame(frame);