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);