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();
Lorsque j'exécute ce code sur Eclipse luna, une erreur se produit: Exception dans le fil "principal" org.openqa.Selenium.SessionNotCreatedException: impossible de trouver un ensemble de capacités correspondant
new FirefoxDriver(DesiredCapabilities caps);
est obsolète, utilisez
FirefoxOptions options = new FirefoxOptions();
options.setCapability("marionette", false);
WebDriver webDriver = new FirefoxDriver(options);
et vous êtes prêt à partir
Vous devriez ajouter des fonctionnalités pour Firefox. Veuillez modifier votre code comme suit
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");
Si votre fenêtre est windows_nt
, mettez windows_nt
au lieu de windows
SessionNotCreatedException
extendWebDriverException
et estRuntimeException
qui indique qu'une session n'a pas pu être créée.
Les causes possibles d’une nouvelle session non créée sont les suivantes:
JDK
,Selenium
,WebDriver
etWeb Browser
versions.GeckoDriver
ou Marionette
par la nouvelle session sans que la session précédente ait été publiée.CPU
Physical Memory
Swap Memory
Disc Cache
Network Bandwidth
OS chores
dans le système.Je ne vois aucun problème de codage dans votre bloc de code en tant que tel.
La solution simple serait la suivante:
Une autre cause possible est la version obsolète de Firefox.
J'ai mis à jour la version et ça fonctionne bien!
Je pouvais ouvrir le navigateur uniquement en paramétrant options.setCapability("marionette", true);
, puis dans la fenêtre ouverte que je mettais à niveau via la boîte de dialogue "À propos de Firefox". Ensuite, vous devez supprimer la ligne à propos de marionette
.
Celui que j’avais n’allait probablement que fonctionner avec marionette
pendant que nous essayons de l’utiliser avec geckodriver
, qui a un protocole différent. Quiconque en sait plus que moi peut confirmer ou nier!