2017-10-10 5 views
1

J'essaie de gérer plusieurs bloqueurs de fenêtres pop-up dans www.naukri.com; Pour cela, j'ai créé un profil personnalisé dans Firefox nommant "AutoProfile". Mais j'ai un problème avec le chargement de ce profil personnalisé dans le pilote firefox;Impossible de charger le profil personnalisé dans FirefoxDriver: Le constructeur FirefoxDriver (FirefoxProfile) est indéfini

System.setProperty("webdriver.gecko.driver", "F:\\abc\\geckodriver-v0.18.0-win64\\geckodriver.exe"); 
ProfilesIni profile2=new ProfilesIni(); 
FirefoxProfile profile3=profile2.getProfile("AutoProfile"); 
profile3.setPreference("browser.popups.showPopupBlocker", false); 
driver =new FirefoxDriver(profile3); 
driver.get("www.naukri.com"); 

Mais je reçois une erreur dans driver=new FirefoxDriver(profile3); Il dit:

The constructor FirefoxDriver(FirefoxProfile) is undefined. 

Quelques fois je reçois un message en tant que constructeur est dépréciée.

Répondre

0

Le problème est dû à la coexistence d'une version plus ancienne de sélénium. mvn clean install a résolu le problème.

Mise à jour pilote gecko et bibliothèque

espère que votre problème sera résolu

+0

Merci pour votre réponse, je ne télécharger la dernière bibliothèque et pilote de gecko. Mais problème toujours présent .. –

0

Qu'est-ce que la version de Sélénium et la Geckodriver qui utilisez-vous?

De https://raw.githubusercontent.com/SeleniumHQ/selenium/master/rb/CHANGES

3.4.1 (2017-06-13) 
================== 
Firefox: 
    * Added new Firefox::Options class that should be used to customize browser 
    behavior (command line arguments, profile, preferences, Firefox binary, etc.). 
    The instance of options class can be passed to driver initialization using 
    :options key. Old way of passing these customization directly to driver 
    initialization is deprecated. 

Pour définir le profil, vous devez faire quelque chose comme ceci:

  System.setProperty("webdriver.gecko.driver", "F:\\abc\\geckodriver-v0.18.0-win64\\geckodriver.exe"); 
     ProfilesIni profile2 = new ProfilesIni(); 
     FirefoxProfile profile3 = profile2.getProfile("AutoProfile"); 
     profile3.setPreference("browser.popups.showPopupBlocker", false); 

     FirefoxOptions firefoxOptions = new FirefoxOptions(); 
     firefoxOptions.setProfile(profile3); 

     WebDriver driver = new FirefoxDriver(firefoxOptions); 
     driver.get("www.naukri.com"); 
+0

Merci pour votre réponse .. Il a en effet résolu mon problème. Merci encore! –

+0

@JohnDoe Heureux d'aider, et bienvenue à Stack Overflow. Si cette réponse ou un autre a résolu votre problème, veuillez le marquer comme accepté: stackoverflow.com/help/someone-answers –