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をセットアップする方法です。なぜそれが輸入されていないのか?
はい、私はそれを追加しようとしましたが、とにかく 'setFileDetector'は' RemoteWebDriver'クラスのメソッドです。 – user1935987