我在使用Selenium WebDriver chrome下载JAR文件时遇到了问题。以下是我尝试从stackoverflow上可用的不同线程中找到的代码,但没有一个有效。
示例1-
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("safebrowsing.enabled", "true");
options.setExperimentalOption("prefs", prefs);
options.addArguments("--safebrowsing-disable-download-protection");
options.addArguments("--safebrowsing-disable-extension-blacklist");
WebDriver driver = new ChromeDriver(options);
示例2-
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("safebrowsing.enabled", "true");
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(options);
我在Windows 10上使用ChromeDriver 76.0.3809.126。
最新的ChromeDrive有什么变化吗?还是我遗漏了什么?
Chrome不允许jar下载。请使用其他网络驱动程序。
我的期望是,您不应该通过Web浏览器测试文件下载功能,因为它基本上是验证浏览器功能,而不是测试应用程序的功能。
我相信你应该得到你想要下载的元素的href属性或src属性,并使用OkHTTP库获取它,这是SeleniumJavaClient的传递依赖项。
如果您的站点需要身份验证,您可以从浏览器实例中获取cookie并将它们传递给OkHttp Request. Builder