2016-11-13 87 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定義,它沒有指定的方法。

相關問題