Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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中使用selenium chrome驱动程序更改文件路径时出错?_Java_Selenium_Selenium Webdriver_Selenium Chromedriver - Fatal编程技术网

在java中使用selenium chrome驱动程序更改文件路径时出错?

在java中使用selenium chrome驱动程序更改文件路径时出错?,java,selenium,selenium-webdriver,selenium-chromedriver,Java,Selenium,Selenium Webdriver,Selenium Chromedriver,在保存文件时,我试图在java中更改chrome webDriver的文件路径,但在“options.setExperimentalOption”(代码中的第6行)的代码中出现了错误,如何解决这个问题 由于我是硒新手,任何类型的建议都会有帮助 String downloadFilepath = "C:\\seleniumDownloads"; HashMap<String, Object> chromePrefs = new HashMap<String, Object>

在保存文件时,我试图在java中更改chrome webDriver的文件路径,但在“options.setExperimentalOption”(代码中的第6行)的代码中出现了错误,如何解决这个问题

由于我是硒新手,任何类型的建议都会有帮助

String downloadFilepath = "C:\\seleniumDownloads";
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);
String downloadFilepath=“C:\\seleniumDownloads”;
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);

请帮助解决此问题,或者是否有其他方法更改文件路径

以下是您问题的答案:

通过Selenium java绑定使用
Selenium
3.4.0、
chromedriver
v2.30和
Chrome
59.0时,以下代码块工作正常:

确保在使用
Map
HashMap()
添加
导入java.util.Map
导入java.util.HashMap

import java.util.HashMap;
导入java.util.Map;
导入org.openqa.selenium.WebDriver;
导入org.openqa.selenium.chrome.ChromeDriver;
导入org.openqa.selenium.chrome.ChromeOptions;
导入org.openqa.selenium.remote.CapabilityType;
导入org.openqa.selenium.remote.DesiredCapabilities;
公共类Q45004905_下载路径
{
公共静态void main(字符串[]args)
{
String downloadFilepath=“C:\\seleniumDownloads”;
System.setProperty(“webdriver.chrome.driver”,“C:\\Utility\\BrowserDrivers\\chromedriver.exe”);
Map chromePrefs=新HashMap();
chromePrefs.put(“profile.default\u content\u settings.popups”,0);
chromePrefs.put(“download.default\u目录”,downloadFilepath);
ChromeOptions选项=新的ChromeOptions();
选项。设置实验选项(“prefs”,chromePrefs);
选项。添加参数(“开始最大化”);
options.addArguments(“禁用信息栏”);
options.addArguments(“--disable extensions”);
DesiredCapabilities=DesiredCapabilities.chrome();
上限设置能力(色度选项、能力、选项);
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS,true);
WebDriver=新的ChromeDriver(cap);
驱动程序。获取(“https://google.com");
}
}

让我知道这是否回答了您的问题。

错误是什么?您能否确认您是否导入了
org.openqa.selenium.chrome.ChromeOptions
class。另外,如果您能提供完整的错误跟踪,帮助我们更好地了解情况,那将是非常好的。@ApurvChatterjee是的,我已经导入了“org.openqa.selenium.chrome.ChromeOptions”,尽管我在“options.setExperimentalOption”中遇到了错误。@Guy我遇到的错误是“找不到symbol symbol:methodsetExperimentalOption(String,HashMap)位置:在我的代码的第6行,ChromeOptions类型的变量选项,即,options.setExperimentalOption(“prefs”,chromePrefs)”,在这里您提到您的webdriver路径。在我运行程序之前,您只是在更改默认下载路径。它在“options.SetExpericalOption(“prefs”,chromePrefs)”处显示错误,是否有其他方法更改文件路径?为了更好地理解我的问题,我添加了屏幕截图。。请查看这篇文章,以帮助查找我犯的错误。我需要查看行
Map chromePrefs=new HashMap()在代码块中清除。除此之外,您还可以考虑将java升级到版本8更新131吗?Thanksmy行是“Map chromePrefs=new HashMap()”,我能知道您使用的JAR列表名称吗?您是否将Java升级到版本8 Update 131并在项目中添加了JAR?谢谢
import java.util.HashMap;
import java.util.Map;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

public class Q45004905_DownloadPath 
{

    public static void main(String[] args) 
    {


        String downloadFilepath = "C:\\seleniumDownloads";
        System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
        Map<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);
        options.addArguments("start-maximized");
        options.addArguments("disable-infobars");
        options.addArguments("--disable-extensions"); 
        DesiredCapabilities cap = DesiredCapabilities.chrome();
        cap.setCapability(ChromeOptions.CAPABILITY, options);
        cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
        WebDriver driver = new ChromeDriver(cap);
        driver.get("https://google.com");

    }

}