【问题标题】:java selenium cant find iframe pathjava selenium找不到iframe路径
【发布时间】:2021-04-02 21:21:31
【问题描述】:

我正在尝试进入 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 中找到元素。

在这里,我将链接粘贴到我使用的方法代码: https://www.codepile.net/pile/7eygVLY3

【问题讨论】:

    标签: java selenium testing iframe automation


    【解决方案1】:

    您的代码:

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

    如果你想切换到窗口然后使用:

    driver.switchTo().window(childHandle);
    

    如果你想切换 iframe ,那么找到那个 iframe 然后切换到它

    例如:

    frame = driver.findElement(By.TAGNAME("iframe"));
    driver.switchTo().frame(frame);
    

    【讨论】:

    猜你喜欢
    • 2021-07-12
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    相关资源
    最近更新 更多