2016-11-13 90 views
1

我有一个通过Selenium RemoteWebDriver(铬驱动程序,使用硒网格上传)上传文件的问题。Selenium RemoteWebDriver FileDetector Java

此主题类似: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类必须有一个方法。任何想法为什么它不被导入?

+0

是的,我试图补充说,但无论如何''setFileDetector'是'RemoteWebDriver'类的方法。 – user1935987

回答

3

我认为你需要改变线路WebDriver browser = null;RemoteWebDriver browser = null;。变量browser用类型WebDriver定义,它没有指定的方法。

相关问题