Java ChromeDriver默认下载目录在ChromeDriver v89,90中不工作
我一直在使用下面的代码在chromedriver中设置默认下载目录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
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.3Chromedriver-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();