2017-04-26 6 views
2

Depuis geckodriver v0.16.0 flashplayer est désactivé par défaut. Est-il possible de démarrer firefox avec flashplayer activé?Geckodriver 0.16.0 démarrer firefox avec flashplayer

J'utilise C#. Mon code en ce moment:

var profileManager = new FirefoxProfileManager(); 
FirefoxProfile profile = profileManager.GetProfile("selenium"); //created firefox user named selenium 
profile.SetPreference("plugin.state.flash", 1); 

code ci-dessous ne fonctionne pas pour moi:

profile.SetPreference("dom.ipc.plugins.enabled.libflashplayer.so", true); 

Quand j'utilise celui-ci:

profile.SetPreference("plugin.state.flash", 1); 

Firefox demande si je veux permettre FlashPlayer , et que rafraîchit la page (avec toutes les entrées remplies précédemment - donc j'ai des champs vides). Si je sélectionne "autoriser et mémoriser", la prochaine fois que je commencerai ce code, nothig sera sauvegardé. Je reçois la même situation.

+0

J'ai eu le même problème hier avec le plus récent geckodriver. J'ai été en mesure de passer temporairement au chrome, mais je voudrais savoir une solution pour cela aussi. –

+0

Pouvez-vous partager le site Web sur lequel vous êtes confrontés au problème avec flashplayer incase son une URL publique? – DebanjanB

+0

J'ai ce numéro sur chaque page. Par exemple: https://www.adobe.com/swf/software/flash/about/flashAbout_info_small.swf – Edvac

Répondre

0

est la solution pour vous ici:

Avec Sélénium 4.3.0, pilote gecko v0.16.0 & Mozilla Firefox 53,0 ce code fonctionne bien avec myfreecams.com.

Il est à noter que le profil Firefox par défaut n'est pas très convivial pour l'automatisation. Lorsque vous souhaitez exécuter l'automatisation de manière fiable sur un navigateur Firefox, il est conseillé de créer un profil distinct. Le profil d'automatisation doit être léger à charger et avoir un proxy spécial et d'autres paramètres pour exécuter un bon test. Vous devez être cohérent avec le profil que vous utilisez sur toutes les machines d'exécution de développement et de test. Si vous utilisiez des profils différents partout, les certificats SSL que vous avez acceptés ou les plug-ins que vous avez installés seraient différents et cela ferait que les tests se comportent différemment sur les machines. Donc, créer un nouveau profil Firefox et utiliser le même dans le script de test implique un processus en trois étapes. Vous devez d'abord démarrer le gestionnaire de profils, puis créer un nouveau profil et troisièmement utiliser le même profil dans les scripts de test. Supposons que nous avons créé un nouveau FirefoxProfile sous le nom "debanjan".

Utilisez le code suivant pour ouvrir http://www.myfreecams.com/ avec votre nouvelle FirefoxProfile "Debanjan":

String driverPath = "C:\\Utility\\BrowserDrivers\\"; 
    //Mozila Firefox 
    System.setProperty("webdriver.gecko.driver", driverPath+"geckodriver.exe"); 
    ProfilesIni profile = new ProfilesIni(); 
    FirefoxProfile testprofile = profile.getProfile("debanjan"); 
    DesiredCapabilities dc = DesiredCapabilities.firefox(); 
    dc.setCapability(FirefoxDriver.PROFILE, testprofile); 
    FirefoxDriver driver = new FirefoxDriver(dc); 
    driver.manage().window().maximize(); 
    driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS); 
    driver.navigate().to("http://www.myfreecams.com/"); 

PS: Ce code est en Java et vous pouvez le convertir au format C#. Faites-moi savoir, si cela vous aide.

+0

Est-ce que flashplayer est activé dans votre Menu-> Extensions-> Plugins lorsque vous exécutez ce code? Pour moi, il est toujours désactivé chaque fois que je lance ce code – Edvac

+0

Quel que soit le flashplayer activé ou désactivé pour le profil Firefox par défaut, j'ai créé un nouveau profil Firefox par le nom "debanjan" et accédé au site. Cela fonctionne bien avec la configuration mentionnée dans ma réponse et aussi avec gecko v0.16.1 récemment publié. – DebanjanB

+0

@Edvac Êtes-vous toujours confronté à un problème? – DebanjanB