Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.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
Selenium RemoteWebDriver文件检测器Java_Java_Selenium_Selenium Chromedriver - Fatal编程技术网

Selenium RemoteWebDriver文件检测器Java

Selenium RemoteWebDriver文件检测器Java,java,selenium,selenium-chromedriver,Java,Selenium,Selenium Chromedriver,我在通过SeleniumRemoteWebDriver(chrome驱动程序,使用Selenium网格)上传文件时遇到问题 与此线程类似: 做了一些研究,似乎这个解决方案是有效的。但是,我遇到了这个错误:无法解析方法“setFileDetector(org.openqa.selenium.remote.LocalFileDetector)” 我有一个必要的进口。 以下是我的远程webdriver安装方法: public WebDriver SetupRemoteChromeDriver(){

我在通过Selenium
RemoteWebDriver
(chrome驱动程序,使用Selenium网格)上传文件时遇到问题

与此线程类似:

做了一些研究,似乎这个解决方案是有效的。但是,我遇到了这个错误:
无法解析方法“setFileDetector(org.openqa.selenium.remote.LocalFileDetector)”

我有一个必要的进口。 以下是我的远程webdriver安装方法:

public WebDriver SetupRemoteChromeDriver(){

Integer pageTimeout = 50;


final DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.setJavascriptEnabled(true);
capabilities.setCapability("acceptSslCerts",true);
capabilities.setCapability("cssSelectorsEnabled", false);
capabilities.setCapability("applicationCacheEnabled", true);
capabilities.setCapability("handlesAlerts", true); //this is new to try
capabilities.setCapability(CapabilityType.BROWSER_NAME, "chrome");

WebDriver browser = null;
try {
    browser = new RemoteWebDriver(
            new URL("http://*ip*:4444/wd/hub"),
            capabilities
    );

    //File upload issue specific to chromedriver
    browser.setFileDetector(new LocalFileDetector());
} catch (MalformedURLException e) {
    e.printStackTrace();
}


browser.manage().timeouts().pageLoadTimeout(pageTimeout, TimeUnit.SECONDS);
browser.manage().timeouts().setScriptTimeout(pageTimeout, TimeUnit.SECONDS);
browser.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

return browser;
}
导入到该类:

import com.gargoylesoftware.htmlunit.BrowserVersion;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.SystemUtils;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.openqa.selenium.*;
import org.openqa.selenium.remote.*;
import org.openqa.selenium.phantomjs.PhantomJSDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriverService;


import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.concurrent.TimeUnit;
selenium版本:2.53.1 根据文件
RemoteWebDriver
类必须具有该方法。知道为什么不导入吗?

我想您需要更改line
WebDriver browser=null
to
RemoteWebDriver浏览器=null。变量
browser
是用类型
WebDriver
定义的,该类型没有指定的方法。

是的,我试图添加它,但无论如何
setFileDetector
是来自
RemoteWebDriver
类的方法。