使用 Selenium-Java 在浏览器的正常 UI 模式下运行测试的 Headless chrome

Che*_*odi 4 java google-chrome headless selenium-webdriver google-chrome-headless

我正在尝试使用 Chrome 浏览器、Selenium 和 Java 以无头模式运行我的应用程序。但它打开一个新的 chrome 实例并开始在正常 UI 模式下运行脚本(可以看到执行情况)

代码或浏览器兼容性是否有问题。

操作系统 - Windows 10,Chrome 版本 - 85.0.4183.121

下面是我的代码 -

package XYZ;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
public class Test{
    public static void main(String args[]) {
        System.setProperty("webdriver.chrome.driver",
                "C:\\Users\\TestUser\\Desktop\\SeleniumWorkspace\\ABC\\chromedriver.exe");
        ChromeOptions options = new ChromeOptions();
        options.addArguments("headless");
        options.addArguments("window-size=1400,800");       
        options.addArguments("disable-gpu")
        //options.addArguments("--headless", "--disable-gpu", "--window-size=1400,800","--ignore-certificate-errors");
        WebDriver driver = new ChromeDriver(options);   
        driver.get("https://www.google.com");
        System.out.println(driver.getCurrentUrl());
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 6

"--"我可以看到您在传递代码中的参数之前丢失了。以下是在运行自动化案例时使用无头镶边的正确代码:

    package XYZ;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
public class Test{
    public static void main(String args[]) {
        System.setProperty("webdriver.chrome.driver",
                "C:\\Users\\TestUser\\Desktop\\SeleniumWorkspace\\ABC\\chromedriver.exe");
        ChromeOptions options = new ChromeOptions();
        options.addArguments("--headless");     
        options.addArguments("--disable-gpu");
        options.addArguments("--window-size=1400,800");  
        WebDriver driver = new ChromeDriver(options);   
        driver.get("https://www.google.com");
        System.out.println(driver.getCurrentUrl());
    }
}
Run Code Online (Sandbox Code Playgroud)

对我来说这工作正常。我希望这能解决您的问题。