import org.openqa.Selenium.By;
import org.openqa.Selenium.WebDriver;
//import org.openqa.Selenium.chrome.ChromeDriver;
import org.openqa.Selenium.firefox.FirefoxDriver;
public class Webdriver {
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
System.setProperty("webdriver.gecko.driver", "C:\\Selenium\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
//System.setProperty("webdriver.chrome.driver","C:\\Selenium\\chromedriver.exe");
//WebDriver driver = new ChromeDriver();
driver.get("https://maps.mapmyindia.com");
Thread.sleep(2000);
driver.findElement(By.id("auto")).sendKeys("TCS");
Thread.sleep(2000);
driver.findElement(By.id("auto_geo")).click();
Eclipse lunaでこのコードを実行すると、エラーが発生します:スレッド「main」での例外org.openqa.Selenium.SessionNotCreatedException:一致する機能セットが見つかりません
new FirefoxDriver(DesiredCapabilities caps);
非推奨です。使用
FirefoxOptions options = new FirefoxOptions();
options.setCapability("marionette", false);
WebDriver webDriver = new FirefoxDriver(options);
そしてあなたは行ってもいい
もう1つの考えられる原因は、古いバージョンのFirefoxです。
バージョンをアップグレードしましたが、正常に動作します!
options.setCapability("marionette", true);
のみを設定してブラウザを開き、開いたウィンドウで[Firefoxについて]ダイアログを使用してアップグレードしました。次に、marionette
に関する行を削除する必要があります。
おそらく、私が持っていたのは、異なるプロトコルを持つmarionette
で使用しようとしているときにgeckodriver
でしか動作しませんでした。私以上のことを知っている人は誰でも確認または拒否できます!
Firefoxの機能を追加する必要があります。次のようにコードを変更してください
System.setProperty("webdriver.gecko.driver", "C:\\Selenium\\geckodriver.exe");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities = DesiredCapabilities.firefox();
capabilities.setBrowserName("firefox");
capabilities.setVersion("your firefox version");
capabilities.setPlatform(Platform.WINDOWS);
capabilities.setCapability("marionette", false);
WebDriver driver = new FirefoxDriver(capabilities);
driver.get("https://maps.mapmyindia.com");
ウィンドウがwindows_nt
その後windows_nt
の代わりにwindows
SessionNotCreatedException
はWebDriverException
を拡張し、RuntimeException
はセッションができなかったことを示す作成されます。
新しいセッションが作成されない場合の考えられる原因は次のとおりです。
JDK
、Selenium
、WebDriver
とWeb Browser
の間の互換性の問題バージョン。GeckoDriver
またはMarionette
で同じポート番号にアクセスする。CPU
へのアクセスの欠如Physical Memory
の欠如Swap Memory
の欠如Disc Cache
の欠如Network Bandwidth
の欠如OS chores
が存在します。コードブロックにコーディングの問題はありません。
簡単な解決策は次のとおりです。