我在使用某些特定配置文件(带扩展名)的 headless 模式下运行 Selenium 测试时遇到问题。 如果没有 headless 模式,脚本是工作文件(具有特定配置文件),但是使用 headless 模式,它会选择默认配置文件,从而导致脚本失败。
尝试了一些方法来解决这个问题,但没有任何效果。
chromeOptions.setAcceptInsecureCerts(true); chromeOptions.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); chromeOptions.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);
chromeOptions.addArguments("--remote-debugging-port=23456"); - 这导致该端口出现错误。
在 headless 模式下启动 Chrome 浏览器的代码设置。
chromeOptions.setExperimentalOption("excludeSwitches", Arrays.asList("disable-sync", "enable-logging")); chromeOptions.addArguments("--enable-sync"); chromeOptions.addArguments("--disable-logging"); chromeOptions.addArguments("--no-sandbox"); chromeOptions.addArguments("--disable-dev-shm-usage"); chromeOptions.addArguments("--headless"); chromeOptions.addArguments("--disable-gpu"); chromeOptions.addArguments("--window-size=1280,800"); chromeOptions.addArguments("--allow-insecure-localhost"); chromeOptions.addArguments("--remote-debugging-port=45447"); chromeOptions.setAcceptInsecureCerts(true); chromeOptions.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); chromeOptions.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true);
最佳答案
headless 运行不支持添加扩展。 因此,使用“Xvfb”虚拟帧缓冲区来模拟 chrome UI。 启动浏览器实例时删除“--headless”。
关于java - Chrome headless 不适用于特定配置文件,它正在选择随机默认配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57553406/