geckodriver.exe pas dans le répertoire courant ou variable de chemin d'accès, le Sélénium 2.53.1 + Firefox 48 + Sélénium, Bêta 3
Vu beaucoup de questions au sujet de Sélénium 2.53.1 et Firefox 47.0.1, mais rien en ce qui concerne le Sélénium 3 version Bêta. Je suis en essayant d'utiliser le nouveau gecko/marionnette Firefox webdrivers, mais même si j'ai l'emplacement du pilote dans; mes d'environnement path, Firefox dossier d'installation de programmes, et de donner l'emplacement du lecteur dans l'environnement du système, il sera toujours de ne pas fonctionner correctement.
Erreur:
L'geckodriver.exe n'existe pas dans le répertoire courant ou dans un répertoire à la variable d'environnement PATH. Le pilote peut être téléchargé à https://github.com/mozilla/geckodriver/releases.
À l'aide de:
- Sélénium 2.53.1 serveur
- Firefox 48
- Sélénium 3 Beta Dll
- Fenêtre de 10
Exemple De Code 1
using OpenQA.Selenium.Firefox;
public static class FirefoxInitialise
{
public static IWebDriver Driver {get; set;}
Driver = new FirefoxDriver();
}
Aussi tenté le ci-dessous:
using OpenQA.Selenium.Firefox;
public static class FirefoxInitialise
{
public static IWebDriver Driver {get; set;}
FirefoxDriverServices service = FirefoxDriverService.CreateDefaultService();
service.FirefoxBinaryPath = @"C:\Program Files\Mozilla Firefox\firefox.exe";
FirefoxOptions options = new FirefoxOptions();
TimeSpan time = TimeSpan.FromSeconds(10);
Driver = new FirefoxDriver(service, options, time);
}
De l'aide ou de comprendre pourquoi le code ne fonctionne toujours pas en mesure de détecter ce pilote serait grandement apprécié.
- Cela peut ne pas fonctionner pour Windows selon le commentaire par naveenkumar1 sur le GitHub pour le Sélénium...
- Jetez un oeil à ce post concernant C# - stackoverflow.com/questions/37761080/...
- Ouais, j'ai eu un coup d'oeil à travers la plupart de la C#, mais elles sont tout en utilisant l'ancienne 2.53 versions de Dll. Le Sélénium, bêta 3 d'utiliser geckodriver comme norme au lieu de la wires.exe maintenant. Je pourrais essayer ajouté geckodriver.exe bin/debug dossier et voir ce qui se passe...
- Double Possible de ne pas se Lancer Mozilla avec le sélénium
- Pas une duplication de ces étapes pour résoudre le .NET ont été essayées et ont échoué, ainsi que la geckodriver emplacement ajouté à la variable d'environnement PATH
- Avez-vous réussi à résoudre le problème. J'ai du mal à le faire fonctionner. Pouvez-vous m'aider si vous trouvez une solution.
- J'ai repris les pilotes précédents avant, je suis actuellement sur un autre projet dans mon entreprise. Je ne suis pas sûr si les réponses ci-dessous peuvent travailler, mais il pourrait être préférable de les essayer.
- J'ai résolu mon problème en ajoutant le chemin d'accès au système, depuis longtemps, mais n'a pas de mise à jour ici. Je vais avoir quelques problèmes avec mon cas de test, mais je suis capable de les exécuter. Merci pour le marquage de moi.
- var profil = new FirefoxProfile(); profil.AcceptUntrustedCertificates = true; profil.AssumeUntrustedCertificateIssuer = true; // conducteur = new FirefoxDriver(); pilote = new FirefoxDriver(nouveau FirefoxBinary(@"C:\Program Files\Mozilla Firefox\Firefox.exe"), de nouvelles FirefoxProfile(), laps de Temps.FromMinutes(10));
- pouvez-vous essayer le ci-dessus? Essayez également de mentionner le chemin de GECKO pilote dans le code. qu'une variable système
Vous devez vous connecter pour publier un commentaire.
Essayer de mettre la geckodriver.exe dans votre chemin: C:\Users\YourName\Documents\Visual Studio 2013\Projets\seleniump\seleniump\bin\Debug
vous pouvez trouver geckodriver.exe sur ce lien:
https://github.com/mozilla/geckodriver/releases
Installer le Le sélénium.Firefox.Webdriver package NuGet.
Cette copie geckodriver.exe dans le dossier bin.
driver = new FirefoxDriver(Environment.CurrentDirectory);
Cette solution peut vous aide à résoudre le problème: ( Ça m'a aidé quand même)
RÉFÉRENCE
Si u comprennent l'geckodriver.exe dans votre projet et vous le copier dans votre répertoire cible lors de la compilation, le webdriver fonctionne comme dans les versions précédentes.
C'est pour ceux qui est de la les débutants mauvais écrire la version courte dans le ci-dessous après ce post 🙂
Le moyen le plus facile d'abord, vous devez télécharger tous les pilotes de navigateur que vous utilisez et en extraire tous les pilotes par ex.
C:\Selenium\
il y aller et deVisualStudio
et d'ajouter iciSelenium packages
le montre les photos Cliquez ici dans la console d'écrire ce codePM>
Install-Package Selenium.WebDriver
après que copier votre répertoire drivers et windows onglet de recherche les variables de type et sélectionnez Modifier l'environnement du système et des variables)shown pic2
dans cette fenêtre, vous aurez avancé onglet au-dessous, cliquez sur Variables d'Environnement... ici vous avezSystem variables
section trouverPATH or Path
Variable et de l'éditer être prudentdon't delete it!!
ensuite, cliquez sur nouveau - coller du répertoire de pilotes et sur tous les windws bouton ok c'est tout. redémarrez votre VS programm et ckeck-il. Après cela, vous n'avez pas à ajouter directeur chemin dans votre Constructeur commePour plus Avancé, IL gars.
VisualStudio
installer le Sélénium à l'aide de gestionnaire de package NuGet en mode console ou comment u comme.Je voudrais essayer ceci:
Tout d'abord, assurez-vous que votre projet C# exécute la même .NET framework version que le Pilote Client bibliothèques (lorsque vous les téléchargez à partir de Sélénium HQ, vous devriez voir la version de framework, ils sont basés sur). J'ai 3.5 et 4.0 de 9/15/2017, j'ai donc dû rétrograder mon projet C# pour .NET 4.0 pour utiliser la 4.0 Client bibliothèques de pilotes.
Dans votre code, lors de la création de l'Firefox Pilote de Service, vous devez explicitement spécifier le chemin d'accès de l'endroit où votre geckodriver.exe est situé. Voir comment j'ai ajouté un paramètre de chemin d'accès à votre appel à
FirefoxDriverService.CreateDefaultService
:So you can use :
Si vous avez le fichier exécutable dans la variable d'environnement path, cela veut probablement dire qu'il n'a pas l'autorisation d'y accéder. Pour contourner ce problème, essayez d'exécuter Visual Studio en tant qu'administrateur.
Ou vous pouvez le déplacer à un endroit qu'il en ont l'autorisation. Par exemple:
Là, j'ai mis les fichiers binaires dans
D:\tmp\Binaries\
et spécifié dans le code de vérifier la geckodriver là.service.FirefoxBinaryPath = FirefoxBinary;
ne compile pas. Peut-être que vous pourriez fournir plus de contexte pour rendre votre code exécutable.D:\firefox\firefox.exe
, que devrait être ce que la valeur deFirefoxBinary
est.J'ai continué à obtenir cette erreur aussi & la seule chose que je pouvais faire pour enfin réparer (pas sûr si c'est la meilleure réponse pour tous ceux qui ont ce problème) est que j'ai placé la
geckodriver.exe
dans ma Bibliothèque principale de répertoire, puis j'ai ouvertwebdriver.py
:/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py
trouvé la ligne où il est dit:
executable_path="geckodriver", firefox_options=None,
et cela a changé:
executable_path="/Library/geckodriver", firefox_options=None
J'ai eu un Visual Studio 2017 problème où le build échoue parce qu'il était à la recherche dans un inexistante répertoire pour le geckodriver exec. J'avais aussi ajouté ça à l'aide de nuget pack manager. Ce que j'ai trouvé dans Visual Studio->Projet->Propriétés->Build il fonctionne si vous faites construire indépendant de l'architecture: la Plate-forme cible est une unité centrale & laisser les autres cases à cocher (Préférez 32 bits, admet le code unsafe, Optimiser le code) tout décoché ou tout simplement Préfèrent 32 bits cochée (par défaut sur mon système).
btw:ma Candidature a été une .NET Framework 4.5.2 Application Console
Cette solution a fonctionné pour moi pour VS2017. Juste copié le geckodriver.exe pour mon dossier de projet comme ceci:
C:\Users\pedne\Desktop\C#\FirstSolution\FirstSolution\bin\Debug
Dans votre projet, cliquez sur Outils --> Gestionnaire de Package Nuget --> Gérer les Packages NuGet pour la Solution...
Le dans la Fenêtre ouverte
Parcourir
Le sélénium.FireFox.WebDriver
Sélectionnez le Projet et le Nom de votre projet et cliquez sur installer.
C'est le easer formulaire de mettre le pilote sur votre Sélénium Projet.