【问题标题】:How to run a Chromium Browser with Selenium?如何使用 Selenium 运行 Chromium 浏览器?
【发布时间】:2019-07-01 05:58:23
【问题描述】:

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

我的 GoogleDrive 位置:

我的 Chromium 位置:

仅供参考:我正在使用 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/");
   }
} 

可能是什么问题?这个问题怎么解决?

【问题讨论】:

  • 根据文档here,不支持铬。
  • @Kamal 最近我看到程序员使用 JavaScript 和 Selenium 在 Chromium 上运行自动测试。我不记得在哪里看到的了

标签: java selenium webdriver selenium-chromedriver chromium


【解决方案1】:

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

  • Chrome 金丝雀
  • Chrome 来自 开发频道
  • Chromium for Windows x64 的原始构建

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

然而使用Chrome Canary版本你可以使用ChromeOptionssetBinary()方法来设置绝对路径 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
    
  • 浏览器快照:


更新

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

【讨论】:

  • 是的,目前一切正常。我刚刚编辑了您的代码,Chromium 开始运行
【解决方案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());

    }
}

【讨论】:

    猜你喜欢
    • 2011-08-09
    • 1970-01-01
    • 2020-05-03
    • 2018-08-24
    • 1970-01-01
    • 2013-08-17
    • 2017-01-01
    • 1970-01-01
    • 2021-05-05
    相关资源
    最近更新 更多