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 ?
J'ai la même erreur, veuillez télécharger la dernière version de ChromeDriver et/ou mettre à jour la version de Chrome Browser et tout fonctionnera correctement :)
https://chromedriver.storage.googleapis.com/index.html?path=2.36/
Après la mise à jour du navigateur Google Chrome vers version 65.0.3325.146 (version officielle) (64 bits)}, la même erreur s'est produite. tout en envoyant des valeurs au champ de saisie, voici le message d'erreur ...
Selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value'
avec Chromedriver 2.32 et Google Chrome 65.0
Après avoir effectué quelques recherches sur le même sujet, j'ai trouvé un récent commit sur Google chrome changelogs v65 qui m'aide à résoudre le problème.
Solution:
Téléchargez et configurez la dernière version de chromedriver (v2.36) . Pour configurer chromedriver (sur Ubuntu), procédez comme suit ...
export PATH = $ PATH:/usr/local/bin
chromedriver --version
cela montrerait la version de chromedriver que vous venez d'installer.
Remarque: Si chromedriver est déjà installé et configuré, il vous suffit de remplacer le fichier de pilote existant. Si vous ne savez pas où les fichiers binaires de Chromedriver sont déjà stockés, essayez de trouver le fichier à l'aide de la commande suivante
Sudo find -H / -type f -iname chromedriver
C’est à cause de la mise à jour de la version du navigateur Chrome de 64.xx à 65.xx
Vous avez maintenant 2 options pour exécuter vos tests avec succès.
Déclassez votre navigateur Chrome à la version précédente et à l'ancien pilote chromed que vous avez maintenant.
Mettez à niveau votre Chromedriver vers la version 2.36 avec le navigateur Chrome mis à jour.
visitez https://chromedriver.storage.googleapis.com/index.html?path=2.36 et téléchargez le nouveau programme chromedriver.
L'option 2 est meilleure.
Remplacez votre ChromeDriver.exe par la dernière version: 2.37. Même peut être téléchargé à partir de Google facilement.
Besoin de mettre à jour chromedriver: Dans la console, exécutez: chromedriver-update 2.36
L'erreur dit tout:
System.InvalidOperationException : unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.146)
(Driver info: chromedriver=2.33.506120
L'erreur se plaint clairement de InvalidOperationException
Votre problème principal est la compatibilité version entre les fichiers binaires que vous utilisez comme suit:
Prend en charge Chrome v60-62
Prend en charge Chrome v64-66
Il y a donc un décalage évident entre la version ChromeDriver (v2.33) et la version Chrome Browser (v65.0).
@Test
.Si vous êtes sur Mac:
brew upgrade Selenium-server-standalone
brew upgrade chromedriver
si les deux précédents ne sont pas installés:
brew install Selenium-server-standalone
brew install chromedriver
J'exécute Protractor et j'ai rencontré le même problème.
La solution dans mon cas était plutôt simple.
$ npm update protractor -g
$ webdriver-manager update
Si vous utilisez la dernière version stable de Google Chrome (par exemple 67), je vous recommande de:
brew uninstall chromedriver
brew tap homebrew/cask
brew cask install chromedriver
Ces jeux de commandes vont désinstaller votre chromedriver actuel, rechercher les mises à jour et installer la dernière version trouvée (par exemple, 2.40).
Comme mentionné par d'autres, le dernier chromedriver a fait l'affaire pour moi. Si vous avez téléchargé le pilote manuellement et que vous souhaitez indiquer à Appium d'utiliser le nouveau pilote chromedriver, vous pouvez le faire à l'aide de la commande suivante:
appium --chromedriver-executable /path/to/driver/chromedriver ....
Si vous utilisez le plugin gulp-protractor
, veillez également à le mettre à jour.
Dans mon cas, l’équipe sur laquelle je me trouve pointe vers un fichier chromedriver spécifique que nous avions. Afin de permettre à Selenium d'utiliser le pilote chromed mis à jour, je l'ai d'abord installé avec brassage, puis créé un lien symbolique indiquant le point où Selenium le recherche:
brew install chromedriver
ln -s /usr/local/Cellar/chromedriver/2.36/bin/chromedriver /path/where/Selenium/expects/chromedriver
Si cela pouvait être utile à quelqu'un, j'avais besoin d'une étape supplémentaire:
Je suis sur MacOS X. Je l'ai fait
brew upgrade chromedriver
bundle exec chromedriver-upgrade
J'ai installé la gem chromedriver-helper, mais elle est stockée et requiert le préfixe "bundle exec" ou le shell ne peut pas trouver la commande.
Ce qui précède a résolu mon problème.
Le problème est dû à une discordance dans les versions de navigateur chromedriver et chrome . Le lien ci-dessous indique les versions de chromedriver prenant en charge la version du navigateur Chrome.
J'utilise Protractor (webdriver-manager) avec Selenium dans un environnement Windows, et je devais effectuer les opérations suivantes:
webdriver-manager update --versions.chrome="2.36"
(Ceci a téléchargé le nouveau Chromedriver dans le bon chemin mais ne l'a pas activé dans le rapporteur.)%userprofile%\AppData\Roaming\npm\node_modules\protractor\config.json
et modifiez la valeur chromedriver
de 2.32
à 2.36
.chromedriver_2.32.exe
de %userprofile%\AppData\Roaming\npm\node_modules\protractor\Selenium
pour faire bonne mesure (ne savez pas si cela était nécessaire.)Ou:
Lorsqu'une autre mise à jour de Chromedriver est devenue nécessaire, je ne pouvais plus effectuer de mise à jour de cette manière. Un paramètre de configuration devait toujours contenir l'ancien chemin et le nom du fichier, et je ne savais pas où modifier ce paramètre. Je viens donc de renommer le dernier pilote chromedriver en "chromedriver.exe" et de le coller dans C:\Windows\system32 (qui est toujours référencé par PATH). Brut, mais efficace.
Je ne sais pas si vous en êtes toujours à ce sujet, mais je recevais une erreur similaire. J'avais la dernière version de chromedriver dans mon PATH et Google Chrome a été mis à jour. Je lance Python 3.6 sur Windows 10 x 64 bits. Ce que je devenais en train d'essayer de sélectionner une valeur dans un menu déroulant sur une page Web. Ce qui était bizarre, c’était que la valeur de la liste déroulante était sélectionnée correctement et que la page était mise à jour correctement, mais je recevais quand même cette erreur stupide et mon script se figeait. J'ai donc créé un gestionnaire d'erreur d'exception, car, comme je l'ai dit, la sélection de la valeur de liste déroulante a été effectuée correctement. Je voulais donc ignorer ce message d'erreur muet:
# select by value
try:
select.select_by_value('100')
except:
pass
j'espère que quelqu'un trouvera cela utile.