Saya menggunakan selenium dengan python dan telah mengunduh chromedriver untuk komputer windows saya dari situs ini: http://chromedriver.storage.googleapis.com/index.html?path=2.15/
Setelah mengunduh file zip, saya membongkar file zip ke folder unduhan saya. Lalu saya meletakkan path ke biner yang dapat dieksekusi (C: \ Users \ michael \ Downloads \ chromedriver_win32) ke dalam Variabel Lingkungan "Path".
Namun, ketika saya menjalankan kode berikut:
from selenium import webdriver
driver = webdriver.Chrome()
... Saya terus menerima pesan kesalahan berikut:
WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver
Tetapi - seperti yang dijelaskan di atas - yang dapat dieksekusi (!) Di jalan ... apa yang terjadi di sini?
python
selenium
selenium-chromedriver
kemajuan mantap
sumber
sumber
chromedriver.exe
di direktori yang sama dengan skrip Python Anda.choco install chromedriver
,.Jawaban:
Anda dapat menguji apakah itu benar-benar ada di PATH, jika Anda membuka cmd dan ketik
chromedriver
(dengan asumsi kromedriver Anda dapat dieksekusi masih bernama seperti ini) dan tekan Enter. JikaStarting ChromeDriver 2.15.322448
muncul, PATH diatur dengan tepat dan ada sesuatu yang salah.Atau Anda dapat menggunakan jalur langsung ke chromedriver seperti ini:
Jadi dalam kasus spesifik Anda:
sumber
pip
?Saya melihat diskusi masih berbicara tentang cara lama menyiapkan chromedriver dengan mengunduh biner dan mengkonfigurasi path secara manual.
Ini dapat dilakukan secara otomatis menggunakan pengelola-web
Sekarang kode di atas dalam pertanyaan akan bekerja cukup dengan perubahan di bawah ini,
Hal yang sama dapat digunakan untuk mengatur Firefox, Edge dan binari.
sumber
Situasi yang sama dengan edisi komunitas pycharm, jadi, seperti untuk cmd, Anda harus memulai ulang ide Anda untuk memuat ulang variabel path. Mulai ulang ide Anda dan itu akan baik-baik saja.
sumber
Di Linux (Ubuntu atau Debian):
Di macOS instal https://brew.sh/ lalu lakukan
sumber
driver = webdriver.Chrome()
bekerja dengan baik untuk saya.Kita harus menambahkan string path, mulai dengan huruf
r
sebelum string, untuk string mentah. Saya diuji dengan cara ini, dan berhasil.sumber
Beberapa masukan / klarifikasi tambahan untuk pembaca masa depan utas ini, untuk menghindari bermain-main dengan PATH env. variabel di tingkat Windows dan mulai ulang sistem Windows: (salinan jawaban saya dari https://stackoverflow.com/a/49851498/9083077 yang berlaku untuk Chrome):
(1) Unduh chromedriver (seperti yang dijelaskan di utas ini sebelumnya) dan letakkan chromedriver.exe (yang tidak di-zip) di X: \ Folder \ of \ your \ choice
(2) Contoh kode python:
Catatan: (1) Diperlukan waktu sekitar 5 detik untuk kode sampel (dalam jawaban yang dirujuk) untuk membuka browser Firefox untuk url yang ditentukan. (2) Konsol python akan menampilkan kesalahan berikut jika tidak ada server yang berjalan di url yang ditentukan atau melayani halaman dengan judul yang berisi string 'Django': nyatakan 'Django' di browser.title AssertionError
sumber
Untuk Linux dan OSX
Langkah 1: Unduh chromedriver
Langkah 2: Tambahkan chromedriver ke
/usr/local/bin
Anda sekarang seharusnya bisa berlari
tanpa masalah
sumber
Saat Anda unzip chromedriver, harap tentukan lokasi yang tepat agar Anda dapat melacaknya nanti. Di bawah, Anda mendapatkan chromedriver yang tepat untuk OS Anda, dan kemudian meng-unzip ke lokasi yang tepat, yang dapat diberikan sebagai argumen nanti dalam kode Anda.
wget http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip unzip chromedriver_linux64.zip -d /home/virtualenv/python2.7.9/
sumber
/usr/local/bin/
menginstal secara global.Jika Anda bekerja dengan kerangka robot RIDE. Kemudian Anda dapat mengunduh
Chromedriver.exe
dari situs web resminya dan menyimpan file .exe ini diC:\Python27\Scripts
direktori. Sekarang sebutkan jalur ini sebagai variabel lingkungan Anda mis.C:\Python27\Scripts\chromedriver.exe
.Nyalakan kembali komputer Anda dan jalankan lagi test case yang sama. Anda tidak akan mendapatkan masalah ini lagi.
sumber
Menurut instruksi , Anda harus menyertakan jalur ke ChromeDriver saat membuat instance webdriver.Chrome misalnya .:
sumber
Sebelum Anda menambahkan chromedriver ke jalur Anda, pastikan itu versi yang sama dengan browser Anda.
Jika tidak, Anda harus mencocokkan versi: perbarui / turunkan versi Anda, dan tingkatkan / turunkan versi webdriver Anda.
Saya sarankan memperbarui versi chrome Anda sebanyak mungkin, dan mencocokkan driver web.
Untuk memperbarui chrome:
help
->About Google Chrome
Kemudian unduh versi yang kompatibel dari sini: http://chromedriver.chromium.org/downloads .
Catatan: Chromedriver terbaru tidak selalu cocok dengan versi chrome terbaru!
Sekarang Anda dapat menambahkannya ke PATH:
buat folder baru di suatu tempat di komputer Anda, tempat Anda akan menempatkan driver web Anda. Saya membuat sebuah folder bernama
webdrivers
diC:\Program Files
salin jalur folder. Dalam kasus saya itu
C:\Program Files\webdrivers
klik kanan pada
this PC
->properties
:Advanced System settings
Environment Variables
System variables
, klikpath
dan klikedit
new
Itu dia! Saya menggunakan pycharm dan saya harus membukanya kembali. Mungkin sama dengan IDE atau terminal lain.
sumber
Bisa mencoba me-restart komputer jika tidak berfungsi setelah Anda cukup yakin bahwa PATH diatur dengan benar.
Dalam kasus saya di windows 7, saya selalu mendapat kesalahan di WebDriverException: Pesan: untuk chromedriver, gecodriver, IEDriverServer. Saya cukup yakin bahwa saya memiliki jalur yang benar. Nyalakan kembali komputer, semua berfungsi
sumber
Dalam kasus saya, kesalahan ini hilang ketika saya menyalin file chromedriver ke folder c: \ Windows. Ini karena direktori windows berada di jalur yang skrip python memeriksa ketersediaan chromedriver.
sumber
Jika Anda menggunakan interpreter jarak jauh, Anda juga harus memeriksa apakah PATH yang dapat dieksekusi didefinisikan. Dalam kasus saya, beralih dari interpreter Docker jarak jauh ke interpreter lokal memecahkan masalah.
sumber
Saya mengalami masalah yang sama dengan Anda. Saya menggunakan PyCharm untuk menulis program, dan saya pikir masalahnya terletak pada pengaturan lingkungan di PyCharm daripada OS. Saya memecahkan masalah dengan pergi ke konfigurasi skrip dan kemudian mengedit PATH dalam variabel lingkungan secara manual. Semoga bermanfaat!
sumber
Tambahkan webdriver (chromedriver.exe atau geckodriver.exe) di sini C: \ Windows . Ini berhasil dalam kasus saya
sumber
Cara terbaik adalah mungkin untuk mendapatkan direktori saat ini dan menambahkan alamat yang tersisa ke dalamnya. Seperti kode ini (Word di windows. Di linux Anda bisa menggunakan sesuatu line pwd):
webdriveraddress = str(os.popen("cd").read().replace("\n", ''))+'\path\to\webdriver'
sumber
Ketika saya mengunduh chromedriver.exe, saya hanya memindahkannya di folder PATH C: \ Windows \ System32 \ chromedriver.exe dan memiliki masalah yang sama persis.
Bagi saya solusinya adalah dengan hanya mengubah folder di PATH, jadi saya hanya memindahkannya di folder Pycharm Community yang juga ada di PATH. ex:
sumber
Apakah masalah ini dengan Mac Mojave menjalankan kerangka uji Robot dan Chrome 77. Ini menyelesaikan masalah. Kudos @Navarasu karena mengarahkan saya ke jalur yang benar.
Selanjutnya, dalam python prompt:
Ini mengarah ke kesalahan berikut:
~/chromedriver/chromedriver
Buka
~/.bash_profile
dengan editor dan tambahkan:Buka jendela terminal baru, ta-da 🎉
sumber
Saya mengalami masalah ini di Webdriver 3.8.0 (Chrome 73.0.3683.103 dan ChromeDriver 73.0.3683.68). Masalahnya hilang setelah saya melakukannya
untuk memutakhirkan Webdriver ke 3.14.1.
sumber
Cara terbaik pasti ada di sini:
Unduh dan unzip chromedriver dan masukkan 'chromedriver.exe' di C: \ Python27 \ Scripts dan kemudian Anda tidak perlu menyediakan jalur driver, cukup
Anda selesai tidak perlu menambahkan jalur atau apa pun
sumber
Periksa jalur driver chrome Anda, mungkin tidak mendapatkannya dari sana. Cukup Salin tempelkan lokasi driver ke dalam kode.
sumber
(untuk pengguna Mac) Saya memiliki masalah yang sama tetapi saya diselesaikan dengan cara sederhana ini: Anda harus meletakkan chromedriver.exe Anda di folder yang sama ke skrip yang Anda jalankan dan daripada di pyhton tulis instruksi ini:
impor os
os.environ ["PATH"] + = os.pathsep + r'X: / folder / skrip / Anda /
sumber