【问题标题】:Selenium RemoteWebDriver FileDetector JavaSelenium RemoteWebDriver FileDetector Java
【发布时间】:2017-03-27 00:14:37
【问题描述】:

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

与本帖类似:Sending Keys to Input WebElement fails as it is not an absolute path

做了一些研究,似乎该解决方案有效。但是,我收到此错误:Cannot resolve method '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;

硒版本:2.53.1 根据文档https://seleniumhq.github.io/selenium/docs/api/java/ RemoteWebDriver 类必须具有该方法。知道为什么不导入吗?

【问题讨论】:

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

标签: java selenium selenium-chromedriver


【解决方案1】:

我认为您需要将行 WebDriver browser = null; 更改为 RemoteWebDriver browser = null;。变量browser定义为WebDriver类型,没有指定的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多