Java ChromeDriver默认下载目录在ChromeDriver v89,90中不工作

Java ChromeDriver默认下载目录在ChromeDriver v89,90中不工作,java,selenium,selenium-chromedriver,Java,Selenium,Selenium Chromedriver,我一直在使用下面的代码在chromedriver中设置默认下载目录 System.setProperty("webdriver.chrome.driver", "C:\\test\\chromedriver.exe"); String downloadFilepath = System.getProperty("user.dir"); HashMap<String, Object> chromePrefs = new Has

我一直在使用下面的代码在chromedriver中设置默认下载目录

System.setProperty("webdriver.chrome.driver", "C:\\test\\chromedriver.exe");
String downloadFilepath = System.getProperty("user.dir");
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", downloadFilepath);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setCapability(ChromeOptions.CAPABILITY, options);

WebDriver driver = new ChromeDriver(cap);
System.setProperty(“webdriver.chrome.driver”,“C:\\test\\chromedriver.exe”);
字符串downloadFilepath=System.getProperty(“user.dir”);
HashMap chromePrefs=新HashMap();
chromePrefs.put(“profile.default\u content\u settings.popups”,0);
chromePrefs.put(“download.default\u目录”,downloadFilepath);
ChromeOptions选项=新的ChromeOptions();
选项。设置实验选项(“prefs”,chromePrefs);
DesiredCapabilities=DesiredCapabilities.chrome();
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS,true);
上限设置能力(色度选项、能力、选项);
WebDriver=新的ChromeDriver(cap);
该代码在chromedriver-2.38上运行良好,但当我尝试在chromedriver-v89和v90上使用相同的代码时,下载目录没有设置为workspace目录,而是将文件下载到C:\Users\Downloads。 我尝试了许多选项,但无法识别代码中的错误

Selenium服务器版本3.5.3
Chromedriver-2.38工作正常
Chromedriver-89.0.4389.23-不工作

Chromedriver-90.0.4430.24-如果您的应用程序是
maven
(由
pom.xml
文件建模)或
gradle
(由
build.gradle
文件建模),则Chromedriver-90.0.4430.24不起作用,您可以分别将添加到
pom.xml
build.gradle
中,以自动导入二进制可执行文件,并在运行时将其类路径添加到项目中

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>3.8.1</version>
</dependency>
通过添加
Leonium
作为依赖项,您可以利用


你也可以用叉子叉,甚至用叉子叉。它们都可以在github上访问。

查看您的代码,它更像是一个工厂类,将提供不同类型的实例,它可能有其他方法来操作浏览器参数,但我更想知道问题中提到的代码有什么问题,即ChromeDriver的本机Selenium代码。谢谢

<!-- git-leon maven repository -->
<repositories>
    <repository>
        <id>git-leon-utils</id>
        <url>https://packagecloud.io/git-leon/utils/maven2</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<!--selenium wrapper-->
<dependencies>
    <dependency>
        <groupId>com.github.git-leon</groupId>
        <artifactId>leonium</artifactId>
        <version>1.7</version>
    </dependency>
</dependencies>
WebDriver firefoxWebDriver = BrowserHandlerFactory.FIREFOX.getDriver();
WebDriver chromeWebDriver = BrowserHandlerFactory.CHROME.getDriver();
WebDriver htmlunitWebdriver = BrowserHandlerFactory.HTMLUNIT.getDriver();
WebDriver phantomjsWebDriver = BrowserHandlerFactory.PHANTOMJS.getDriver();