Saya mengalami masalah saat bekerja dengan Selenium. Untuk proyek saya, saya harus menggunakan Chrome. Namun, saya tidak dapat terhubung ke browser itu setelah meluncurkannya dengan Selenium.
Untuk beberapa alasan, Selenium tidak dapat menemukan Chrome dengan sendirinya. Inilah yang terjadi ketika saya mencoba meluncurkan Chrome tanpa menyertakan jalur:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome() # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 58, in start
and read up at http://code.google.com/p/selenium/wiki/ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path. Please download from http://code.google.com/p/selenium/downloads/list and read up at http://code.google.com/p/selenium/wiki/ChromeDriver'
Untuk mengatasi masalah ini, saya kemudian memasukkan jalur Chromium dalam kode yang meluncurkan Chrome. Namun, juru bahasa gagal menemukan soket untuk terhubung ke:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome('/usr/bin/chromium') # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 64, in start
raise WebDriverException("Can not connect to the ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'Can not connect to the ChromeDriver'
Saya juga mencoba menyelesaikan masalah dengan meluncurkan chrome dengan:
chromium --remote-shell-port = 9222
Namun, ini juga tidak berhasil.
PS. Berikut beberapa informasi tentang sistem saya:
www-klien: chromium 15.0.874.121 dev-lang: python 2.7.2-r3 Selenium 2.11.1 OS: Kernel Gentoo GNU / Linux 3.1.0-gentoo-r1
Jawaban:
Anda harus memastikan biner ChromeDriver mandiri (yang berbeda dari biner browser Chrome) ada di jalur Anda atau tersedia di variabel lingkungan webdriver.chrome.driver.
lihat http://code.google.com/p/selenium/wiki/ChromeDriver untuk informasi lengkap tentang cara menghubungkannya.
Edit:
Benar, tampaknya menjadi bug dalam binding Python wrt membaca biner chromedriver dari path atau variabel lingkungan. Tampaknya jika chromedriver tidak ada di jalur Anda, Anda harus menyampaikannya sebagai argumen kepada konstruktor.
sumber
Untuk Linux
chromium-browser -version
sudo apt-get install chromium-browser
/usr/bin
direktorisudo mv chromedriver /usr/bin
/usr/bin
Direktori gotocd /usr/bin
sudo chmod a+x chromedriver
menandainya dapat dieksekusi.akhirnya kamu bisa mengeksekusi kodenya.
sumber
Hanya Mac OSX
Cara yang lebih mudah untuk memulai (dengan asumsi Anda sudah menginstal homebrew , yang harus Anda lakukan, jika tidak, lakukan dulu dan biarkan homebrew membuat hidup Anda lebih baik) adalah dengan menjalankan perintah berikut:
Itu harus menempatkan chromedriver di jalur Anda dan Anda harus siap.
sumber
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
brew doctor
dan lihat apakah itu menemukan sesuatu.Untuk windows
Unduh ChromeDriver dari tautan langsung ini ATAU dapatkan versi terbaru dari halaman ini .
Rekatkan
chromedriver.exe
file di fileC:\Python27\Scripts
folder .Ini seharusnya berfungsi sekarang:
sumber
Untuk windows, silakan
chromedriver.exe
letakkan di bawah<Install Dir>/Python27/Scripts/
sumber
/usr/lib/
atau di tempat lain?PATH
tidak cukup, meletakkannya/Scripts/
di tempatride.py
yang dikerjakan.Ada 2 cara untuk menjalankan tes python Selenium di Google Chrome. Saya sedang mempertimbangkan Windows (Windows 10 dalam kasus saya):
Prasyarat: Unduh Driver Chrome terbaru dari: https://sites.google.com/a/chromium.org/chromedriver/downloads
Cara 1:
i) Ekstrak file zip yang diunduh di direktori / lokasi pilihan Anda
ii) Tetapkan jalur yang dapat dieksekusi dalam kode Anda seperti di bawah ini:
Cara 2:
i) Cukup tempel chromedriver.exe di bawah / Python / Scripts / (Dalam kasus saya foldernya adalah: C: \ Python36 \ Scripts)
ii) Sekarang tulis kode sederhana seperti di bawah ini:
sumber
Untuk IDE Windows:
Jika jalur Anda tidak berfungsi, Anda dapat mencoba menambahkannya
chromedriver.exe
ke proyek Anda, seperti dalam struktur proyek ini.Maka Anda harus memuatnya
chromedriver.exe
di file utama Anda. Seperti untuk saya, saya dimuatdriver.exe
didriver.py
...
berartidriver.py's
direktori atas.
berarti direktori di manadriver.py
beradaSemoga ini bisa membantu.
sumber