Saya mencoba menjalankan RSelenium menggunakan fungsi rsDriver, tetapi ketika saya menjalankan
rD <- rsDriver()
saya mendapatkan pesan yang mengatakan bahwa saya memerlukan versi Chrome yang lebih baru:
> rD <- rsDriver()
checking Selenium Server versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking chromedriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking geckodriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking phantomjs versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
[1] "Connecting to remote server"
Selenium message:session not created: This version of ChromeDriver only supports Chrome version 74
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Mac OS X 10.14.3 x86_64)
Could not open chrome browser.
Client error message:
Summary: SessionNotCreatedException
Detail: A new session could not be created.
Further Details: run errorDetails method
Check server log for further details.
Pesan kesalahan muncul untuk mengatakan bahwa saya memerlukan Chrome versi 74.0.3729.6, tetapi ketika saya melihat di pengaturan Chrome, itu memberitahu saya bahwa saya sedang menjalankan versi stabil terbaru (73.0.3683.75). Setelah googling lebih lanjut, 74.0.3729.6 adalah versi dev pra-rilis Chrome: apakah saya harus menginstal ini untuk menggunakan ChromeDriver dengan RSelenium?
Saya tidak terbiasa dengan gagasan menggunakan Chrome, tapi saya belum bisa membuat rsDriver menggunakan Firefox: ketika saya tentukan browser = "firefox"
, rsDriver memberi saya pesan kesalahan yang sama tentang ChromeDriver yang tidak mendukung versi Chrome saya.
Info sesi saya adalah:
R version 3.5.2 (2018-12-20)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Mojave 10.14.3
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] wdman_0.2.4 forcats_0.3.0 stringr_1.3.1 dplyr_0.7.8 purrr_0.2.5 readr_1.3.1 tidyr_0.8.2
[8] tibble_2.0.1 ggplot2_3.1.0 tidyverse_1.2.1 rvest_0.3.2 xml2_1.2.0 RSelenium_1.7.5
sumber
Jawaban:
Saya mengalami masalah yang sama hari ini dan menemukan pos ini dan lainnya dari Google. Saya pikir saya mungkin punya solusi yang lebih langsung sebagai modifikasi kode Anda. Jawaban sebelumnya benar dalam mengidentifikasi ketidakcocokan dalam versi.
Saya mencoba solusi yang diusulkan tetapi tidak berhasil. Saya menemukan bahwa versinya benar di komputer saya. Namun, kesalahan ketidakcocokan ini bukan disebabkan oleh versi aktual yang diinstal pada komputer, melainkan kode RSelenium yang mencari versi "terbaru" dari Chrome / ChromeDriver dengan argumen default. Lihat
?rsDriver()
halaman bantuan untuk argumennya.Jika Anda menjalankan kode
binman::list_versions("chromedriver")
seperti yang ditentukan dalam dokumentasi bantuan, maka Anda dapat mengidentifikasi versi yang kompatibel dengan fungsi tersebut. Dalam kasus saya, saya dapat menggunakan kode berikut untuk membuat koneksi.driver <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68", extraCapabilities = eCaps)
Anda harus dapat menentukan versi Chrome Anda dengan
chromever=
argumen. Namun saya harus menggunakan versi terdekat (versi chrome saya adalah "73.0.3683.75").Semoga ini membantu!
sumber
available.versions<-binman::list_versions("chromedriver") latest.version = available.versions$win32[length(available.versions)]
Terima kasih untuk ini!Untuk pemutakhiran kromedriver MacOS, lakukan trik:
sumber
chromedriver-beta
, yang mengharapkan versi Chrome yang lebih baru. Jadi apa yang saya lakukan:brew cask uninstall chromedriver-beta; brew cask install chromedriver
rm /usr/local/bin/chromedriver
dan kemudianbrew cask install chromedriver
untuk mendapatkan versi terbaru. Bagaimanapun, memutakhirkan chromedriver adalah solusinya.Pesan kesalahan ini ...
... menyiratkan bahwa ChromeDriver mengharapkan versi Browser Chrome menjadi 74 .
Pemasangan cepat ChromeDriver terbaru
Untuk memasang versi terbaru ChromeDriver, Anda dapat menggunakan:
brew tap homebrew/cask && brew cask install chromedriver
sudo apt-get install chromium-chromedriver
choco install chromedriver
Analisis
Masalah utama Anda adalah ketidakcocokan antara versi binari yang Anda gunakan sebagai berikut:
Jadi ada ketidakcocokan yang jelas antara ChromeDriver v74.0.3729.6 dan Browser Chrome v73.0
Larutan
@Test
.driver.quit()
dalamtearDown(){}
metode untuk menutup & menghancurkan contoh WebDriver dan Klien Web dengan anggun.Referensi
Anda dapat menemukan diskusi terperinci yang relevan di:
sumber
rD <- rsDriver()
, diakhiri dengan:[1] "Connecting to remote server" Could not open chrome browser. Client error message: Undefined error in httr call. httr output: Failed to connect to localhost port 4567: Connection refused Check server log for further details. Warning message: In rsDriver() : Could not determine server status.
Selenium
. Jawaban ini tidak merujukR
atauRSelenium
sama sekali. Jawaban yang diterima ini haruslah yang oleh @CAD di bawah ini.Memperbarui versi Google Chrome ke 74 berfungsi untuk saya.
Langkah-langkah: 1. Pergi ke Bantuan -> Tentang Google Chrome -> Chrome akan secara otomatis mencari pembaruan (perbarui Chrome ke versi terbaru)
sumber
Saya harus menginstal ulang busur derajat untuk menarik
webdriver-manager
modul yang diperbarui . Juga, per komentar @ Mark,package-lock.json
mungkin mengunci ketergantungan.Kemudian, pastikan untuk memeriksa
maxChromedriver
nilainode_modules/protractor/node_modules/webdriver-manager/config.json
setelah menginstal ulang untuk memverifikasi cocok dengan versi driver Chrome yang diinginkan.sumber
package-lock.json
mengunci ketergantungan. Ini bukan bug, hanya perlu memperbarui dependensi.Saya menangani masalah ini hari ini dan memutakhirkan webdrivermanger saya menyelesaikannya untuk saya (Versi saya sebelumnya adalah 3.0.0):
sumber
Saya baru saja mengalami kesalahan yang sama menggunakan pengaturan
RSelenium::rsDriver()
defaultchromever = "latest"
yang mengakibatkan upaya gagal untuk menggabungkanchromedriver 75.0.3770.8
dengan terbarugoogle-chrome-stable 74.0.3729.157
:Karena ini tampaknya merupakan masalah yang berulang dan sangat menjengkelkan, saya telah menemukan solusi berikut untuk selalu menggunakan versi ChromeDriver terbaru yang kompatibel :
Kode di atas hanya diuji di Linux dan menggunakan beberapa paket rapi (instal terlebih dahulu atau tulis ulang di basis R). Untuk sistem operasi lain, Anda mungkin harus mengadaptasinya sedikit, terutama ganti
command = "google-chrome-stable"
dengan perintah khusus sistem untuk meluncurkan Google Chrome:Pada MacOS harus cukup untuk mengganti
command = "google-chrome-stable"
dengancommand = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
.Di Windows, bug khusus-plattform mencegah kami memanggil biner Google Chrome secara langsung untuk mendapatkan nomor versinya. Alih-alih lakukan hal berikut:
Pada dasarnya, kode hanya memastikan versi ChromeDriver terbaru yang cocok dengan nomor versi major-minor-patch browser Google Chrome yang stabil dari sistem dilewatkan sebagai
chromever
argumen. Prosedur ini harus mematuhi skema versi resmi ChromeDriver . Mengutip:sumber
Saya benar-benar berjuang dengan ketidakcocokan antara ChromeDriver v74.0.3729.6 dan Chrome Browser v73.0. Saya akhirnya menemukan cara untuk mendapatkan ChromeDriver ke versi sebelumnya,
Di Chrome> Tentang Google Chrome, salin nomor versi, kecuali untuk grup terakhir. Misalnya, 72.0.3626.
Rekatkan versi itu di akhir url ini dan kunjungi. Ini akan kembali dengan versi, yang harus Anda salin. https://chromedriver.storage.googleapis.com/LATEST_RELEASE_
Kembali ke baris perintah, jalankan
bundle exec chromedriver-update <copied version>
sumber
Travis CI
Saya memiliki masalah yang sama di Travis dan diselesaikan dengan menambahkan:
ke
.travis.yml
file saya .sumber
Alternatif Travis CI
Jawaban lain karena Francesco Borzi tidak bekerja untuk saya.
Tambahkan ini ke travis.yml Anda:
Banyak terima kasih dan penghargaan untuk tagliala di github:
https://github.com/diowa/ruby2-rails5-bootstrap-heroku/commit/6ba95f33f922895090d3fabc140816db67b09672
sumber
Solusi ini berhasil untuk saya
driver <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68")
sumber
Tidak perlu menurunkan versi Chrome lagi, ketika Anda mendapatkan kesalahan ini hanya berarti saatnya untuk menjalankan
webdriver-manager update
lagisumber
Mengalami masalah ini dan dapat menyelesaikannya dengan 2 langkah utama:
1 - Perbarui ke chrome terbaru via cleb homebrew
2 - perbarui ke ver terbaru melalui Chrome GUI
chrome: // pengaturan / bantuan atau
cmd
+,
kemudian menempelkan bantuan di akhir (pilihan Anda)dari sana Anda harus mendarat di Halaman Tentang Chrome. Di sini Anda perlu memverifikasi bahwa Anda berada pada versi terbaru dan terhebat (masalah yang saya hadapi berasal dari ketidakcocokan dalam cli vs versi chrome saat ini)
jika Anda mendapatkan kesalahan, Anda akan melihat
update & relaunch
tombol tindakan utama.setelah chrome "diluncurkan kembali" sekarang akan memiliki versi terbaru yang cocok dengan klien Anda
contoh:
sumber
buka saja url ini di browser chrome
dan chrome akan secara otomatis mencari pembaruan (perbarui Chrome ke versi terbaru)
selesai :)
sumber
Saya mendapat kesalahan yang sama ketika saya menggunakan kerangka robot (kerangka berbasis Selenium) dalam contoh Docker . Alasannya adalah buruh pelabuhan menggunakan cache
google-chrome-stable_current_amd64.deb
untuk Chrome tetapi telah menginstal driver chrome terbaru yang merupakan versi yang lebih baru.Kemudian saya menggunakan perintah dan kesalahan di bawah ini diselesaikan.
Semoga ini bisa membantu seseorang.
sumber
Saya menghadapi kesalahan yang sama:
Kami menjalankan tes dari komputer yang tidak memiliki UI nyata, jadi saya harus bekerja melalui command line (CLI).
Saya mulai dengan mendeteksi versi Chrome saat ini yang diinstal pada komputer Linux:
Dan mendapat tanggapan ini:
Jadi saya memperbarui versi Chrome seperti itu:
Dan setelah memeriksa lagi versi yang saya dapatkan ini:
Kemudian tes Selenium mampu berjalan dengan lancar.
sumber
Cukup perbarui busur derajat:
npm instal busur derajat @ terbaru --save-dev
sumber
Anda dapat menentukan versi pasti pemasangan Chrome Anda seperti ini:
webdriver-manager update --versions.chrome 73.0.3683.75
Mungkin Anda perlu melakukan yang
webdriver-manager clean
pertama dalam hal penurunan peringkat.sumber
Saya mengunduh file zip dari https://chromedriver.chromium.org/downloads Disebutkan, "Jika Anda menggunakan Chrome versi 79, silakan unduh ChromeDriver 79.0.3945.36" dan saya menggunakan Chrome versi 79. (saya memeriksa
chrome://settings/help
) Rupanya, kesalahan bagi saya adalah "Versi ChromeDriver ini hanya mendukung Chrome versi 78"Dan kemudian saya mengklik file zip dan memindahkan file "chromedriver" ke
/usr/local/bin/
direktori. Itu memecahkan masalah.sumber
Ini berguna untuk orang Linux. Masalah saya sepele, saya menggunakan browser chromium. Saya memasang chrome dan semua masalah teratasi. Itu bisa bekerja dengan kromium tetapi dengan tindakan ekstra. Saya tidak menerima kesuksesan. Saya dapat mengatur versi driver yang diperlukan untuk konfigurasi busur derajat. Ini menggunakan yang terbaru. Saya membutuhkan downgrade.
sumber
Saya memiliki masalah yang hampir sama seperti ini, masalahnya ada di dalam pipa ketika menjalankan tes selenium saya yang membutuhkan paket chromedriver untuk menjalankan tes e2e.
Kesalahan saya membangun pipa
Masalahnya hanya karena dalam pipa (dalam kasus saya) adalah memiliki versi chrome 73, dan paket chromedriver saya diinstal pada versi 74.
sumber
Menggunakan Visual Studio
Saya tidak bisa menyelesaikan ketidakcocokan versi dengan mengikuti salah satu jawaban saat menggunakan Visual Studio, tetapi hanya memperbarui Selenium.WebDriver dan Selenium.WebDriver.ChromeDriver paket nuget ke versi terbaru berfungsi.
Saya menggunakan Chrome v78, dan memutakhirkan chromedriver ke v78 masih memberikan kesalahan ketidakcocokan. Jawaban CAD membawa saya ke solusi.
sumber
Masalah yang sama terjadi pada saya hari ini.
Solusi saya:
Unduh rilis stabil terbaru dari chromedriver: https://sites.google.com/a/chromium.org/chromedriver/
Perbarui driver chrome di folder Selenium Anda. Ini agak sulit, karena ada di folder tersembunyi di PC Anda bernama AppData. Inilah cara saya melakukannya di komputer saya (Windows 7):
C:> pengguna> pengguna Anda> \ AppData (Anda perlu menulis ini di kotak path folder, karena itu adalah folder tersembunyi)> Lokal (ini adalah nama folder dalam bahasa Portugis, mungkin itu akan memiliki nama yang berbeda untuk Anda) > SeleniumBasic
Di sana Anda akan menemukan aplikasi chromedriver. Ganti nama saja (jika tidak berfungsi, Anda ingin memiliki versi yang lebih lama) dan kemudian menempelkan rilis terbaru.
sumber
Saya memiliki masalah yang sama baru-baru ini. Ini kesalahan saya:
Perbaikan ini berhasil untuk saya:
[project_folder]\bin\Debug\netcoreapp2.1
)sumber
Pastikan Anda memiliki pengelola webdriver versi terbaru. Anda dapat menginstal menggunakan yang sama
npm i webdriver-manager@latest --save
Kemudian jalankan yang berikut ini
sumber
Saya memiliki masalah yang sama dan menyelesaikannya dengan hanya mengunduh
chromedriver
file untuk versi chrome sebelumnya. Saya telah menemukan bahwa versi 79 dari Chrome kompatibel dengan versi Selenium saat ini.Saya kemudian menyimpannya di jalur yang ditentukan, dan menautkan jalur itu ke jalur saya
webdriver
.Langkah-langkah yang tepat ditentukan dalam tautan ini: http://chromedriver.chromium.org/downloads
sumber
saya memiliki masalah yang sama dengan memperbarui webdriver manager di mac menggunakan terminal ini untuk memperbarui webdriver manager-
sumber
Untuk mengunduh versi Google chrome, kunjungi situs = chromedriver.chromium.org
sumber
Saya memeriksa versi browser google chrome saya yang diinstal pada pc saya dan kemudian diunduh yang
ChromeDriver
sesuai dengan versi browser saya. Anda dapat mengunduhnya dari https://chromedriver.chromium.org/sumber