当前位置: 首页 > 知识库问答 >
问题:

切换帧的最佳实践是什么?[副本]

鲜于意
2023-03-14

我在java中使用seleniumwebdriver,我在测试的应用程序中有很多框架。

以下是我切换帧的代码:

ClientPg.waitLong(1);
ClientPg.getWindowHandle();
ClientPg.switchToDefaultContent();


public void getWindowHandle() {

    for (String winHandle : driver.getWindowHandles()) {
        driver.switchTo().window(winHandle);
    }

    driver.manage().window().maximize();
        reportLog("Switch to new window. Title : " + driver.getTitle());
    }

    public void switchToDefaultContent() {
        driver.switchTo().defaultContent();
    }
}

chrome它的工作原理如下:

ClientPg.waitLong(1);
ClientPg.getWindowHandle();

但是在firefox中,我需要添加

:switchToDefaultContent();

共有1个答案

杨豪
2023-03-14

您可以使用以下方式切换到特定的I Frame,工作正常。

使用以下功能切换到iframe

public void switchframeByXpath(String xpath) throws Exception {

        try {
            System.out.println("switch to iframe");
            //wait for i frame element to load.
            WebDriver x = driver.switchTo().frame(driver.findElement(By.xpath(xpath)));
        } catch (Exception e) {
            throw new AssertionError("Can not Switch Iframe", e);
        }
    } 

切换到主框架使用以下功能

public void switchToMainFrame() {

        try {

            System.out.println("Before switching -- Switch to Main Frame");
            driver.switchTo().defaultContent();
            System.out.println("After switching -- Switch to Main Frame");
            Thread.sleep(1000);

        } catch (Exception e) {
            System.err.println("Can not Switch " + e.getMessage());
            throw new AssertionError("Switched to main Frame Error");
        }

    }
 类似资料:
  • 我想用Spring Boot和JWT开始一个项目。我看到了一些将刷新令牌保存在数据库中的示例。我是否必须将刷新令牌插入数据库,或者我是否有其他最佳实践方法? 如果我必须插入数据库,以删除过期的令牌,我应该在Spring中创建一个作业吗?

  • 问题内容: 我刚开始学习Go,并通读现有代码以学习“其他人的做法”。在这种情况下,遍历使用go“工作区”,尤其是与项目依赖关系有关的地方。 在处理各种Go项目时,使用一个或多个Go工作区(即$ GOPATH的定义)的常见(或存在)最佳实践是什么?我应该期望有一个类似于我所有项目的中央代码存储库的Go工作区,还是在我处理这些项目时都明确将其分解并设置$ GOPATH(有点像python) virtu

  • 问题内容: 我正在构建一个基于expressjs的应用程序,我想在其中记录所有事件。我可以找到温斯顿,这似乎很酷。无论如何,我正在寻找一种方法将其连接到我的expressjs应用程序。 我还想要在应用程序内部登录。我的要求不是那么简单,所以我想将所有内容记录在我的应用程序中(不仅是请求)。 我目前的情况: server.js (我想在此级别记录http请求) 路线/something.js con

  • 问题内容: 我是Swift新手。我需要类似SwiftiOS项目中Python的BeautifulSoup之类的东西。准确地说,我需要将所有这些都以结尾。我应该采取什么步骤? 问题答案: 有几个不错的 HTML解析 库,它们使用,如下所示: hpple NDHpple Kanna( old Swift-HTML-Parser) Fuzi SwiftSoup Ji 看一下上面发布的四个库中的以下示例,

  • 问题内容: 我刚刚试用了Docker。它很棒,但似乎不能与ufw配合使用。默认情况下,docker将对iptables进行一些操作。结果不是错误,而是我的预期。有关更多详细信息,请阅读UFW + Docker的危险 我的目标是建立一个像 我想通过ufw管理传入流量(例如,限制访问),因此我不希望docker触摸我的iptables。这是我的测试 环境: 新安装的Ubuntu 14.04(内核:3.

  • 本文向大家介绍设计微服务的最佳实践是什么?相关面试题,主要包含被问及设计微服务的最佳实践是什么?时的应答技巧和注意事项,需要的朋友参考一下 以下是设计微服务的最佳实践: 为每个微服务分开数据存储 将代码保持在类似的成熟度等级上 为每个微服务进行单独的构建 部署到容器中 将服务器视为无状态的