Otrzymuję poniższy błąd podczas wysyłania kluczy.
Wiadomość wynikowa:
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)
Zaktualizowałem sterownik Chrome do wersji 2.36, ale nadal wyszukuję kod na 2.33?
Dowolny pomysł ?
python-2.7
google-chrome
selenium
selenium-webdriver
webdriver
Zaki Ahmed
źródło
źródło
Odpowiedzi:
Wystąpił ten sam błąd, proszę pobrać ostatnią wersję ChromeDriver i / lub zaktualizować wersję przeglądarki Chrome i będzie działać dobrze :)
https://chromedriver.storage.googleapis.com/index.html?path=2.36/
źródło
chromedriver-update 2.36
brew upgrade chromedriver
Po zaktualizowaniu przeglądarki Google Chrome do wersji 65.0.3325.146 (oficjalna kompilacja) (64-bitowa) napotkałem również ten sam błąd podczas wysyłania wartości do pola wejściowego, oto komunikat o błędzie ...
używając Chromedriver 2.32 i Google Chrome 65.0
Gdy przeprowadziłem pewne badania na ten temat, znalazłem niedawne zatwierdzenie w dziennikach zmian Google Chrome v65, które pomagają mi rozwiązać problem.
Rozwiązanie:
Pobierz i skonfiguruj najnowszą wersję chromedriver (v2.36). Aby skonfigurować chromedriver (na Ubuntu), wykonaj następujące kroki ...
pokaże wersję chromedrivera, którą właśnie zainstalowałeś.
Uwaga: jeśli chromedriver jest już zainstalowany i skonfigurowany, po prostu zastąp istniejący plik sterownika i jeśli nie wiesz, gdzie pliki binarne Chromedrivera są już zapisane, spróbuj znaleźć plik za pomocą następującego polecenia
źródło
Wynika to z aktualizacji wersji przeglądarki Chrome z 64.xx do 65.xx
Teraz masz dwie możliwości pomyślnego przeprowadzenia testów.
Zmień swoją przeglądarkę Chrome na poprzednią wersję i stary sterownik chromedriver, który masz teraz.
Zaktualizuj swojego Chromedrivera do wersji 2.36 za pomocą zaktualizowanej przeglądarki Chrome.
Wejdź na https://chromedriver.storage.googleapis.com/index.html?path=2.36 i pobierz nowy chromedriver.
Opcja 2 jest lepsza.
źródło
Zastąp ChromeDriver.exe najnowszą wersją. To samo można łatwo pobrać z Google.
Lepiej też zrobić to automatycznie, używając menedżera webDriver, jak wyjaśniono poniżej - 1. Dodaj zależność Mvn do swojego projektu POM:
Użyj poniższego podejścia:
I to wszystko, gotowe!
Użyj poniższych linków w celach informacyjnych- Co to jest Menedżer binarny przeglądarki, jak go używać dla Selenium
lub projekt chkout git dla tego samego - https://github.com/bonigarcia/webdrivermanager#webdrivermanager-as-java-dependency
źródło
Musisz zaktualizować chromedriver: W konsoli uruchom:
chromedriver-update 2.36
źródło
Błąd mówi wszystko:
Błąd wyraźnie skarży się na InvalidOperationException
Twoim głównym problemem jest zgodność wersji między używanymi plikami binarnymi w następujący sposób:
Więc istnieje wyraźna rozbieżność pomiędzy ChromeDriver wersji ( v2.33 ) oraz Chrome wersji ( v65.0 )
Rozwiązanie
@Test
.źródło
Jeśli używasz komputera Mac:
jeśli powyższe dwa nie są zainstalowane:
źródło
Używam Protractora i napotkałem ten sam problem.
Rozwiązanie w moim przypadku było dość proste.
$ npm update protractor -g
$ webdriver-manager update
źródło
gulp-protractor
wtyczki, pamiętaj, aby ją również zaktualizować.Jeśli korzystasz z najnowszej stabilnej przeglądarki Google Chrome (np. 67) polecam:
Ten zestaw poleceń odinstaluje twój obecny chromedriver, sprawdzi dostępność aktualizacji i zainstaluje najnowsze znalezione (np. 2.40).
źródło
Po aktualizacji Chrome i jego sterowników w ogóle mi to nie pomogło !! Nie wiem, na ile to ma sens, ale zadziałało, gdy zamieniłem nazwę klasy na xpath. To jest ścieżka xpath, której użyłem do automatyzacji wysyłania wiadomości WhatsApp przy użyciu Pythona.
poprzednio używałem
źródło
W moim przypadku zespół, który mam na liście, wskazuje selen do konkretnego pilnika chromedriver, który mieliśmy. Aby Selenium używał zaktualizowanego chromedrivera, najpierw zainstalowałem go z naparem, a następnie utworzyłem symboliczne łącze do punktu, w którym Selenium go szuka:
źródło
Na wypadek, gdyby to mogło być pomocne dla kogoś, potrzebowałem dodatkowego kroku:
Jestem na MacOS X. Tak
Mam zainstalowany gem chromedriver-helper, ale jest on ukryty i wymaga przedrostka „bundle exec” lub powłoka nie może znaleźć polecenia.
Powyższe rozwiązało mój problem.
źródło
Jak wspominali inni, najnowszy chromedriver załatwił sprawę za mnie. Jeśli pobrałeś sterownik ręcznie i chcesz powiedzieć appium, aby używał nowego chromedrivera, możesz to zrobić za pomocą tego polecenia:
appium --chromedriver-executable /path/to/driver/chromedriver ....
źródło
Używam Protractor (webdriver-manager) z Selenium w środowisku Windows i musiałem wykonać następujące czynności:
webdriver-manager update --versions.chrome="2.36"
(Spowoduje to pobranie nowego Chromedrivera na właściwą ścieżkę, ale nie włączyło go w kątomierzu).%userprofile%\AppData\Roaming\npm\node_modules\protractor\config.json
i zmieńchromedriver
wartość z2.32
na2.36
.chromedriver_2.32.exe
z%userprofile%\AppData\Roaming\npm\node_modules\protractor\selenium
na miarę (nie jestem pewien, czy to było wymagane).Lub:
Kiedy potrzebna była kolejna aktualizacja Chromedrivera, nie mogłem już aktualizować w ten sposób. Ustawienie konfiguracji nadal wymagało starej ścieżki i nazwy pliku i nie mogłem dowiedzieć się, gdzie zmienić to ustawienie. Dlatego właśnie zmieniłem nazwę najnowszego sterownika chromedriver na „chromedriver.exe” i umieściłem go w C: \ Windows \ system32 (do którego zawsze odwołuje się PATH). Surowy, ale skuteczny.
źródło
Jeśli używasz
gulp-protractor
wtyczki, pamiętaj, aby ją również zaktualizować.źródło
Nie wiem, czy nadal to robisz, ale otrzymałem podobny błąd. Miałem najnowszą wersję chromedrivera w mojej PATH i Google Chrome został zaktualizowany. Uruchamiam Python 3.6 w systemie Windows 10 x64 bit. Co otrzymywałem, próbując wybrać wartość z menu rozwijanego na stronie internetowej. Dziwne było to, że poprawnie wybierałby rozwijaną wartość i strona byłaby ładnie aktualizowana, ale i tak otrzymywałbym ten głupi błąd i mój skrypt się zawiesił. Więc właśnie stworzyłem dla niego program obsługi błędów wyjątku, ponieważ tak jak powiedziałem, poprawnie wybrał wartość rozwijaną, więc chciałem tylko ominąć ten głupi komunikat o błędzie:
miejmy nadzieję, że ktoś uzna to za pomocne.
źródło
Problem jest spowodowany niedopasowaniem wersji Chromeedriver i przeglądarki Chrome. Poniższy link określa wersje chromedrivera obsługujące wersję przeglądarki Chrome.
http://chromedriver.chromium.org/downloads
źródło