首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium RemoteWebDriver FileDetector Java

Selenium RemoteWebDriver FileDetector Java
EN

Stack Overflow用户
提问于 2016-11-13 04:04:06
回答 1查看 2.4K关注 0票数 1

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

类似于这个线程:Sending Keys to Input WebElement fails as it is not an absolute path

做了一些研究,看来这个解决方案是可行的。但是,我得到了一个错误:Cannot resolve method 'setFileDetector(org.openqa.selenium.remote.LocalFileDetector)'

我确实有需要的进口品。下面是我的远程Here驱动程序设置方法:

代码语言:javascript
复制
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;
}

该类别的进口:

代码语言:javascript
复制
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根据docs https://seleniumhq.github.io/selenium/docs/api/java/ RemoteWebDriver类必须具有该方法。知道为什么不是进口的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-13 13:08:18

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40570445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档