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

如何用java在selenium webdriver中实现两种浏览器的切换

鲜于雨石
2023-03-14

我正在用Java开发selenium webdriver。我想打开一个浏览器,在其中执行一些操作。然后打开另一个浏览器并在其中执行相同的操作,然后返回到第一个浏览器并执行一些操作。

@BeforeTest
    public void beforeTest() throws BiffException, IOException,InterruptedException {
System.setProperty("webdriver.chrome.driver","D:\\MyProjects\\SeleniumTrials\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get(properties.getProperty("VAR_BASEURL"));
        driver.manage().window().maximize();
      WebDriver  tempDriver = new ChromeDriver();
        tempDriver.get(properties.getProperty("VAR_BASEURL"));
        tempDriver.manage().window().maximize();
}
@Test
    public void playTournament() throws InterruptedException, BiffException,IOException {
    int rowNumber = 1;
    int newRowNumber=2;
    WebElement login =driver.findElement(By.xpath(properties.getProperty("VAR_LOGIN"))); 
    login.click();
    Thread.sleep(1000);
    WebElement username = driver.findElement(By.xpath(properties.getProperty("VAR_USERNAME")));
    username.clear();
    username.sendKeys(getCellContent(0, rowNumber));
    Thread.sleep(1000);
    WebElement password = driver.findElement(By.xpath(properties.getProperty("VAR_PASSWORD")));
    password.clear();
    password.sendKeys(getCellContent(1, rowNumber));
    Thread.sleep(1000);
    WebElement continueButton = driver.findElement(By.xpath(properties.getProperty("VAR_CONTINUE")));
    continueButton.click();
    Thread.sleep(1000);

   WebElement login =tempDriver .findElement(By.xpath(properties.getProperty("VAR_LOGIN"))); 
   login.click();
   Thread.sleep(1000);
   WebElement username = tempDriver .findElement(By.xpath(properties.getProperty("VAR_USERNAME")));
   username.clear();
   username.sendKeys(getCellContent(0, rowNumber));
   Thread.sleep(1000);
   WebElement password = tempDriver .findElement(By.xpath(properties.getProperty("VAR_PASSWORD")));
   password.clear();
   password.sendKeys(getCellContent(1, rowNumber));
   Thread.sleep(1000);
   WebElement continueButton = tempDriver .findElement(By.xpath(properties.getProperty("VAR_CONTINUE")));
   continueButton.click();

共有1个答案

微生昌勋
2023-03-14

我猜这就是你要找的,

  1. 保留两个浏览器对象
  2. 定义在浏览器上执行一组操作的方法
  3. 首先使用第一个浏览器调用此方法,然后再使用第二个浏览器
  4. 然后在第一个浏览器上执行更多操作
 类似资料:
  • 我正在使用C#在selenium web驱动程序中为Chrome浏览器编写一个自动化脚本。我陷入了一个场景:多个选项卡在同一浏览器中打开,我需要导航到浏览器的第一个选项卡,并需要在“身份验证”对话框中重新输入登录凭据。 授权窗口截图如下: 我无法导航到第一个选项卡,也无法传递用户名 执行上述代码后,将出现以下错误: WebDriver等待有一些无效的参数。参数2:不能从int转换为System.时

  • 意思就是想要两个 tab页同时能获取到一个状态的更改。比如在 A 页面改的状态,在 B 页面也可以同时获取到

  • 我尝试使用request.meta['http_user_agent']来检测浏览器。但这将返回我测试时的浏览器类型列表 **我无法得到它返回值的模式。谁能告诉我如何得到浏览器名称

  • 本文向大家介绍jQuery+css实现的tab切换标签(兼容各浏览器),包括了jQuery+css实现的tab切换标签(兼容各浏览器)的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery+css实现的tab切换标签。分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery动画与特效用法总结》及《jQ

  • 主要内容:控制台界面,数据包抓取,看变化规律几乎所有浏览器都提供了抓取数据包的功能,因为浏览器为抓包提供了一个专门的操作界面,因此这种抓包方式也被称为“控制台抓包”。本节以 Chrome 浏览器为例进行抓包演示。 控制台抓包指的是利用浏览器开的发者调试工具抓取客户端与后端服务器交互的数据,它能够将网络传输中发送与接收的数据进行截获、重发和编辑。 控制台抓包非常适合于 POST 请求类型。我们知道,POST 请求使用 Form 表单向服务器提

  • 问题内容: 我的站点转到登录页面,我想在用户登录时重定向到另一个页面。我有一个“ POST”方法,该方法将“用户名”和“密码”发送到服务器,服务器检查用户名和密码存在。 这是我的方法 客户端能够正确发布用户名和密码,并检查其是否存在…我只是不知道如何使它呈现(重定向到???)一个新页面 问题答案: 你可以 … 重定向,(使用,将任何需要的值作为查询参数传递。例如 或者你可以.. 使用Jersey的