2016-11-13 7 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)'

私は必要なインポートがありました。そのクラスに

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クラスがそのメソッドを持っている必要がありますドキュメントによると は、ここに私のリモートwebdriverをセットアップする方法です。なぜそれが輸入されていないのか?

+0

はい、私はそれを追加しようとしましたが、とにかく 'setFileDetector'は' RemoteWebDriver'クラスのメソッドです。 – user1935987

答えて

3

WebDriver browser = null;RemoteWebDriver browser = null;に変更する必要があると思います。変数browserは、指定されたメソッドを持たないタイプWebDriverで定義されています。

関連する問題