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

标签 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/");
   }
} 

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

最佳答案

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

  • Chrome 金丝雀
  • Chrome 来自 Dev Channel
  • 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
    
  • 浏览器快照:

Chrome_Canary


更新

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

关于java - 如何使用 Selenium 运行 Chromium 浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54567901/

相关文章:

java - TestNG 多次运行所有类方法,初步使用提供的数据执行@BeforeClass

java - SimpleDateFormat 的线程安全问题

python - Selenium:如何禁用 firefox 和 python 的图像加载?

python - Selenium 无效参数异常

jquery - 如何使用 Selenium Webdriver 移动 jQuery 的水平 slider 或垂直 slider

c# - 在 Chrome 中使用 selenium webdriver 在 google 搜索结果中查找搜索文本

java - 原始数据类型的性能与其包装类

Java UDP发送-接收数据包一一接收

java - ZK框架: Load xls into ZK Spreadseet from Servlet

java - 为什么 TestNG 优先级功能未按预期顺序运行