【问题标题】:Selenium WebDriver api getWindowHandles() always returns 2147483649Selenium WebDriver api getWindowHandles() 总是返回 2147483649
【发布时间】:2018-02-07 12:46:27
【问题描述】:

我正在使用 Selenium 来自动化一些测试。 WebDriver api getWindowHandle() 总是返回 2147483649。它实际上应该返回一个像{9e10f4f4-2da6-ef43-b463-1b0d576e7dae} 这样的字母数字字符串,通常会随着每次测试运行而改变。但我总是得到2147483649。我正在使用 Selenium 3.5.1 和 Firefox 55.0.2。

重现问题的代码-

Java

public class SeleniumExample {
    public static void main(String args[]){
        System.setProperty("webdriver.gecko.driver","/Users/raghavendr.kolisetty/Downloads/geckodriver");
        WebDriver driver = new FirefoxDriver();
        driver.manage().window().maximize();
        driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS);
        driver.get("http://www.google.com");
        System.out.println("printing test handles "+driver.getWindowHandle());
    }
}

POM

<properties>
    <selenium.java.version>3.5.1</selenium.java.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>${selenium.java.version}</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>${selenium.java.version}</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

输出 - 打印测试句柄 2147483649

谁能解释我做错了什么。谢谢

【问题讨论】:

  • 声明一个字符串变量并在其中分配windowhandle。
  • 它有什么不同?反正我试过了,结果是一样的。
  • 你没有得到想要的输出
  • 第一次 o/p:打印测试句柄 {9e85b26d-db78-44fa-98f6-dcf7592f9a0f} 第二次 o/p 打印测试句柄 {39016fc9-96cf-4a59-991d-aec3701e68f0}
  • 哦!那么它一定是我的机器/环境有问题。您能否分享您的环境详细信息。我正在使用 Selenium - 3.5.1、Java - 1.8.0_144、Gecko - v0.18.0、Firefox - 55.0.2。如果我遗漏任何详细信息,请添加其他详细信息

标签: selenium selenium-webdriver selenium-firefoxdriver


【解决方案1】:

使用此代码。希望它会起作用

String Parentswindows = driver.getWindowHandle();

    System.out.println("Parentswindows : " + Parentswindows);

【讨论】:

    【解决方案2】:

    你试过了吗-

    String window1 = driver.getWindowHandle();
    System.out.println("Second window handle is "+window1);
    

    【讨论】:

      【解决方案3】:

      试试这个

      public class SeleniumExample {
      public static void main(String args[]){
      System.setProperty("webdriver.gecko.driver","/Users/raghavendr.kolisetty/Downloads/geckodriver");
      WebDriver driver = new FirefoxDriver();
      driver.manage().window().maximize();
      driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS);
      driver.get("http://www.google.com");
      System.out.println("printing test handles "+driver.getWindowHandle());
      }
      }
      

      用这个替换你的代码:

      public class SeleniumExample {
      public static void main(String args[]){
      System.setProperty("webdriver.gecko.driver","/Users/raghavendr.kolisetty/Downloads/geckodriver");
      WebDriver driver = new FirefoxDriver();
      driver.manage().window().maximize();
      driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS);
      driver.get("http://www.google.com");
      String window1=driver.getWindowHandle();
      System.out.println("printing test handles "+window1);
      }
      }
      

      【讨论】:

        猜你喜欢
        • 2013-04-03
        • 2020-12-17
        • 2020-02-19
        • 1970-01-01
        • 2014-09-08
        • 2018-08-08
        • 1970-01-01
        • 1970-01-01
        • 2014-02-08
        相关资源
        最近更新 更多