【问题标题】:Selenium opens chrome browser not the web pageSelenium 打开 chrome 浏览器而不是网页
【发布时间】:2015-11-04 10:00:52
【问题描述】:

我正在尝试使用 selenium 网格在三个浏览器中打开一个网站。当我运行我的脚本时,firefox 和 ie 工作正常。但是 chrome 浏览器打开的是“data:”,而不是 URL。 硒版本 2.47 Chromedriver.exe 2.20 铬 46.0 谁能告诉我为什么?

@Parameters("browser")
   @BeforeTest
   public void launchapp(String browser) throws MalformedURLException
   {
      String URL = "http://www.tutorialspoint.com/selenium/selenium_grids.htm";
      if (browser.equalsIgnoreCase("firefox"))
      {
         System.out.println(" Executing on FireFox");
         String Node = "http://10.101.7.220:5555/wd/hub";
         DesiredCapabilities cap = DesiredCapabilities.firefox();
         cap.setBrowserName("firefox");

         driver = new RemoteWebDriver(new URL(Node), cap);

         driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

         // Launch website
         driver.navigate().to(URL);
         driver.manage().window().maximize();
      }
      else if (browser.equalsIgnoreCase("ie"))
      {
         System.out.println(" Executing on IE");

         System.setProperty("webdriver.ie.driver","IEDriverServer.exe");
        DesiredCapabilities capabilities = DesiredCapabilities
                .internetExplorer();

        capabilities
        .setCapability(
                InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
                true);

        capabilities.setCapability("ignoreZoomSetting", true);
        capabilities.setCapability("nativeEvents", false);
         //driver = new RemoteWebDriver(new URL(Node), capabilities);
        driver= new InternetExplorerDriver(capabilities);
         driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

         // Launch website
         driver.navigate().to(URL);
         driver.manage().window().maximize();
      }
      else if (browser.equalsIgnoreCase("chrome")) 
      {
           System.out.println("Running Chrome");

        System.setProperty("webdriver.chrome.driver", "C:\\Users\\mob150003576\\Downloads\\chromedriver.exe");

         driver = new ChromeDriver();
      }
      else
      {
         throw new IllegalArgumentException("The Browser Type is Undefined");
      }
   }

   @Test
   public void sample()
   {
       driver.findElement(By.xpath("//a[text()=' Home']")).click();

   }`

【问题讨论】:

标签: selenium-webdriver


【解决方案1】:

我在您的代码中注意到的一件事是您不使用 RemoteWebDriver 来运行您的 IE 或 Chrome 测试。代码可以简化阅读:

            String URL = "http://www.tutorialspoint.com/selenium/selenium_grids.htm";            
            System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
            System.setProperty("webdriver.ie.driver", "IEDriverServer.exe");
            DesiredCapabilities caps = null;

            switch(browser){
            case "chrome" : caps = DesiredCapabilities.chrome();
            break;
            case "firefox" : caps = DesiredCapabilities.firefox();
            break;
            case "ie" : caps = DesiredCapabilities.internetExplorer(); 
            caps.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
            break;
            } 

            driver = new RemoteWebDriver(new URL("grid string"), caps);
            driver.navigate().to(URL);
            driver.manage().window().maximize();

请根据您的 PC 更新浏览器驱动程序的路径并添加您需要的特定功能。

【讨论】:

    猜你喜欢
    • 2021-06-10
    • 2022-12-18
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 2017-07-26
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多