Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 硒罐';尝试使用headless chromedriver选项时找不到WebElements_Java_Selenium_Selenium Chromedriver - Fatal编程技术网

Java 硒罐';尝试使用headless chromedriver选项时找不到WebElements

Java 硒罐';尝试使用headless chromedriver选项时找不到WebElements,java,selenium,selenium-chromedriver,Java,Selenium,Selenium Chromedriver,我用chromedriver运行selenium,一切正常。 最近我尝试同时使用10个ChromeDriver,它占用了所有可用的内存,所以我尝试在ChromeOptions中使用headless选项来解决这个问题 尝试了以下选项: options.addArguments("--headless"); options.addArguments("--disable-gpu"); options.addArguments("--window-siz

我用chromedriver运行selenium,一切正常。 最近我尝试同时使用10个ChromeDriver,它占用了所有可用的内存,所以我尝试在ChromeOptions中使用headless选项来解决这个问题

尝试了以下选项:

        options.addArguments("--headless");
        options.addArguments("--disable-gpu");
        options.addArguments("--window-size=1920,1200");
        options.addArguments("--ignore-certificate-errors");
但是当程序使用--headless选项运行时,它将无法工作。(它以前在没有无头的情况下工作过)

这是我如何设置chromeDriver的:

private ChromeDriver setupChromeDriver(String proxyAddress, String downloadFilePath){
        try{
            HashMap<String, Object> chromePrefs = new HashMap<>();
            chromePrefs.put("profile.default_content_settings.popups", 0);
            chromePrefs.put("download.default_directory", downloadFilePath);
            ChromeOptions options = new ChromeOptions();
            options.setExperimentalOption("prefs", chromePrefs);
            options.addArguments("--headless");
            options.addArguments("--disable-gpu");
            options.addArguments("--window-size=1920,1200");
            options.addArguments("--ignore-certificate-errors");
            DesiredCapabilities cap = DesiredCapabilities.chrome();
            cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
            cap.setCapability(ChromeOptions.CAPABILITY, options);
            if(!proxyAddress.equals(""))
                cap.setCapability("proxy", setupChromeProxy(proxyAddress));
            ChromeDriverService chromeDriverService = new ChromeDriverService.Builder().build();
            options.merge(cap);
            logger.info("Selenium chrome driver set up with updated download location");
            return new ChromeDriver(chromeDriverService, options);
        }
        catch (Exception e){
            logger.info(e.getMessage());
            logger.info(BaseUtilities.getStackTrace(e));
            e.printStackTrace();
            return null;
        }
    }
我使用的是Windows 10,chrome版本75.0.3770.142(官方版本)(64位), ChromeDriver 75.0.3770.140

试图在类似的帖子中找到一些信息,但找不到有效的解决方案。
谢谢。

你可以这样试试

    ChromeOptions chromeOptions = new ChromeOptions();
    chromeOptions.addArguments("--headless");

    WebDriver wDriver = new ChromeDriver(chromeOptions);
    ChromeOptions chromeOptions = new ChromeOptions();
    chromeOptions.addArguments("--headless");

    WebDriver wDriver = new ChromeDriver(chromeOptions);