113 votes

erreur inconnue: valeur de la fonction d'appel manquante pour les clés d'envoi Selenium, même après la mise à niveau de chromedriver

Je reçois l'erreur ci-dessous lors de l'envoi des clés.

Message de résultat:

 System.InvalidOperationException : unknown error: call function result missing 'value'
  (Session info: chrome=65.0.3325.146)
  (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.14393 x86_64)
 

J'ai mis à jour le pilote chromé à 2.36 mais ma recherche de code pour 2.33 est-elle toujours?

Une idée ?

118voto

Coder Points 1157

J'ai la même erreur, veuillez télécharger la dernière version de ChromeDriver et / ou mettre à jour le navigateur Chrome et tout fonctionnera correctement :)

https://chromedriver.storage.googleapis.com/index.html?path=2.36/

23voto

AKay Nirala Points 941


Après la mise à jour du navigateur Google Chrome pour la Version 65.0.3325.146 (compilation Officiel) (64 bits), je suis également rencontrés avec le même message d'erreur lors de l'envoi de valeurs pour le champ de saisie, voici le message d'erreur...

selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value'

à l'aide de Chromedriver 2.32 et Google Chrome 65.0

Comme je l'ai fait quelques recherches sur le même, j'ai trouvé une récente s'engager sur Google chrome v65 changelogs qui m'aide à résoudre le problème.

Solution:

  • Mise à jour de Google Chrome dernière version stable (dans mon cas, c'est v65 sur 9/mar/2018)
  • Télécharger et configurer dernière chromedriver (v2.36). Pour la configuration de chromedriver (sur Ubuntu) procédez comme suit...

    1. Extraire le fichier zip téléchargé.
    2. Copie de l'extrait chromedriver fichier /usr/local/bin ou à l'emplacement où vous avez généralement de stocker les fichiers binaires exécutables.
    3. Ajouter le même chemin (l'endroit où vous placez le chromedriver fichier) à la variable d'environnement PATH en tant que

export PATH=$PATH:/usr/local/bin

  1. Pour tester l'installation, redémarrez le terminal et tapez cette commande

chromedriver --version

ce serait montrer la version de chromedriver que vous venez d'installer.

Remarque: Si le chromedriver déjà installé et configuré, il suffit de remplacer le pilote existant fichier et Si vous ne savez pas où le Chromedriver binaires déjà stocké puis essayer de trouver le fichier en utilisant la commande suivante

 sudo find -H / -type f -iname chromedriver

13voto

Deepak N Points 357

C'est à cause de la mise à jour de google chrome, la version du navigateur à partir de 64.xx à 65 ans.xx

Maintenant, vous avez 2 options pour l'exécution de vos tests avec succès.

  1. Downgrade de votre navigateur chrome à la version précédente et avec la vieille chromedriver qui vous avez maintenant.

  2. Mise à niveau de votre Chromedriver à 2,36 version avec la mise à jour du navigateur google Chrome.

    visite https://chromedriver.storage.googleapis.com/index.html?path=2.36 et télécharger la nouvelle chromedriver.

L'Option 2 est mieux.

12voto

Satyendra Sharma Points 371

Remplacer votre ChromeDriver.exe avec la dernière version.. Même peut être téléchargé à partir de Google facilement.

Aussi de son mieux pour le faire automatiquement à l'aide de webDriver manager comme expliqué ci-dessous - 1. Ajouter Mvn dependency à votre projet POM:

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>${webdrivermanager.version}</version>
    <scope>test</scope>
</dependency>
  1. Maintenant dans votre Navigateur à l'instanciation de la classe au lieu d'utiliser de façon traditionnelle pour créer pilote c'est à dire en utilisant le Système.setProperty(Voir belwo)...

    Système.setProperty("webdriver.le chrome.le pilote","src/test/resources/drivers/chromedriver.exe");

Utilisation ci-dessous approche:

WebDriverManager.chromedriver().setup();
webDriver = new ChromeDriver(chromeOptions);

Et c'est tout, vous avez terminé!

Utiliser les liens ci-dessous pour votre référence- Qu'est-ce que le Navigateur Binaire Gestionnaire de la façon de l'utiliser pour le Sélénium

ou chkout projet git pour https://github.com/bonigarcia/webdrivermanager#webdrivermanager-as-java-dependency

10voto

Olga Points 111

Besoin de mettre à jour chromedriver: Dans la console, exécutez: chromedriver-update 2.36

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X