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 无法设置Chrome Android的实验选项,以禁用弹出式询问Selenium在何处保存文件_Java_Selenium_Selenium Chromedriver - Fatal编程技术网

Java 无法设置Chrome Android的实验选项,以禁用弹出式询问Selenium在何处保存文件

Java 无法设置Chrome Android的实验选项,以禁用弹出式询问Selenium在何处保存文件,java,selenium,selenium-chromedriver,Java,Selenium,Selenium Chromedriver,这同样适用于在Android上创建Chrome驱动程序: @Override public WebDriver newDriver() { try { ChromeOptions options = new ChromeOptions(); //set fake camera options.addArguments( "--allow-file-access-from-files",

这同样适用于在Android上创建Chrome驱动程序:

@Override
public WebDriver newDriver() {
    try {
        ChromeOptions options = new ChromeOptions();

        //set fake camera
        options.addArguments(
                "--allow-file-access-from-files",
                "--use-fake-ui-for-media-stream",
                "--allow-file-access",
                "--use-file-for-fake-audio-capture=" + rootDir + "/src/test/resources/files/fake_webcam.y4m",
                "--use-fake-device-for-media-stream");

        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("deviceName", "emulator-5554");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("autoAcceptAlerts", true);
        capabilities.setCapability("autoGrantPermissions", true);
        capabilities.setCapability("automationName", "UiAutomator2");
        capabilities.setCapability("browserName", "chrome");
        capabilities.setCapability("newCommandTimeout", 300);
        capabilities.setCapability("chromedriverExecutableDir", rootDir+"/src/test/resources/drivers/windows");

        options.merge(capabilities);

        URL url = new URL("http://0.0.0.0:4723/wd/hub");

        AndroidDriver<WebElement> driver = new AndroidDriver<WebElement>(url, options);   

        sessionID = ((RemoteWebDriver) driver).getSessionId();
        System.out.println("SESSION ID HERE: ["+sessionID.toString()+"]");

        return driver;
    } catch (Exception e) {
        throw new Error(e);
    }
}
有人能告诉我为什么以及如何解决这个问题吗? 我尝试了很多方法,但都不能解决这个问题

        Map<String, Object> prefs = new HashMap<String, Object>();
        prefs.put("profile.default_content_settings.popups", 0);
        prefs.put("profile.default_content_setting_values.automatic_downloads",1);
        prefs.put("download.prompt_for_download", false);
        prefs.put("download.directory_upgrade", true);
        prefs.put("download.default_directory", rootDir+"/storage/emulated/0/Download");
        prefs.put("safebrowsing.enabled", false);

        options.setExperimentalOption("prefs", prefs);
java.lang.Error: org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: invalid argument: cannot parse capability: goog:chromeOptions
from invalid argument: unrecognized chrome option: prefs
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: '6780-ANHPV-LT-D', ip: '192.168.1.29', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_251'
Driver info: driver.version: CustomAndroidChromeDriver
remote stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: invalid argument: cannot parse capability: goog:chromeOptions
from invalid argument: unrecognized chrome option: prefs
    at getResponseForW3CError (C:\Users\ADMIN\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\protocol\errors.js:804:9)
    at asyncHandler (C:\Users\ADMIN\AppData\Roaming\npm\node_modules\appium\node_modules\appium-base-driver\lib\protocol\protocol.js:381:37)
Driver info: driver.version: CustomAndroidChromeDriver

at bellFace.automation.utils.CustomAndroidChromeDriver.newDriver(CustomAndroidChromeDriver.java:68)
at net.serenitybdd.core.webdriver.driverproviders.ProvidedDriverProvider.newInstance(ProvidedDriverProvider.java:23)
Caused by: org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: invalid argument: cannot parse capability: goog:chromeOptions
from invalid argument: unrecognized chrome option: prefs