如何使用Selenium运行Chromium浏览器?

时间:2019-02-07 07:00:27

标签: java selenium webdriver selenium-chromedriver chromium

是否可以在Chromium浏览器(不是Google Chrome浏览器)中运行Selenium测试?

我的GoogleDrive位置:GoogleDrive location

我的Chromium位置:Chromium location

仅供参考:我正在使用Java

我的代码(目前正在运行FirefoxDriver(gecko):

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class MainClass {

public static void main (String[] args){
    System.setProperty("webdriver.gecko.driver", "C:\\Users\\User\\IdeaProjects\\testselenium\\drivers\\geckodriver.exe");
    WebDriver driver = new FirefoxDriver();
    driver.get ("https://www.seleniumhq.org/");
   }
} 

我认为这段代码会有所帮助,但不会成功。运行Google Chrome,而不是Chromium:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class Chromium {

public static void main (String[] args){
    System.setProperty("webdriver.chrome.driver", "C:\\Users\\User\\IdeaProjects\\testselenium\\drivers\\chromedriver.exe");
    System.setProperty("webdriver.chrome.binary", "C:\\Users\\User\\Downloads\\chrome-win\\chrome-win\\chrome.exe");
    WebDriver driver = new ChromeDriver();
    driver.get ("https://www.seleniumhq.org/");
   }
} 

可能是什么问题?该问题如何解决?

2 个答案:

答案 0 :(得分:2)

Chromium浏览器具有以下不同的版本:

  • Chrome Canary
  • 开发频道中的Chrome
  • 用于Windows x64的 Chromium的原始版本

不确定您要使用哪个 Chromium浏览器版本。

无论如何使用 Chrome Canary 版本,您都可以使用 ChromeOptions setBinary()方法设置 的绝对路径 em> Chrome Canary 二进制文件,您可以使用以下解决方案:

  • 代码块:

    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.chrome.ChromeOptions;
    
    public class A_Chrome_Canary {
    
        public static void main(String[] args) {
    
            System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
            ChromeOptions opt = new ChromeOptions();
            opt.setBinary("C:\\Users\\AtechM_03\\AppData\\Local\\Google\\Chrome SxS\\Application\\chrome.exe");
            WebDriver driver = new ChromeDriver(opt);
            driver.get("https://www.google.com/");
            System.out.println(driver.getTitle());
        }
    }
    
  • 控制台输出:

    Google
    
  • 浏览器快照:

Chrome_Canary


更新

您的评论不清楚,但您需要从两个官方存储库中的任何一个下载最新的 Chromium 二进制文件:

答案 1 :(得分:2)

借助DebanjanB's answer,我开发了以下可在Chromium上运行的代码:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class A_Chrome_Canary {

    public static void main (String[] args){

    System.setProperty("webdriver.chrome.driver", "C:\\Users\\User\\IdeaProjects\\testselenium\\drivers\\chromedriver.exe");

    ChromeOptions opt = new ChromeOptions();

    opt.setBinary("C:\\Users\\User\\Downloads\\chrome-win\\chrome-win\\chrome.exe");

    WebDriver driver = new ChromeDriver(opt);

    driver.get("https://www.google.com/");

    System.out.println(driver.getTitle());

    }
}