Saya mencoba meluncurkan chrome dengan URL, browser meluncurkan dan tidak melakukan apa-apa setelah itu.
Saya melihat kesalahan di bawah ini setelah 1 menit:
Unable to open browser with url: 'https://www.google.com' (Root cause: org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist
(Driver info: chromedriver=2.39.562718 (9a2698cba08cf5a471a29d30c8b3e12becabb0e9),platform=Windows NT 10.0.15063 x86_64) (WARNING: The server did not provide any stacktrace information)
Konfigurasi saya:
- Chrome: 66
- ChromeBrowser: 2.39.56
PS semuanya bekerja dengan baik di Firefox
google-chrome
selenium
selenium-webdriver
webdriver
selenium-chromedriver
Kumar Sampath
sumber
sumber
Jawaban:
Pesan kesalahan ini ...
... menyiratkan bahwa ChromeDriver tidak dapat memulai / menelurkan WebBrowser baru yaitu sesi Browser Chrome .
Uji coba kode Anda dan informasi versi semua binari akan memberi kami beberapa petunjuk tentang apa yang salah.
Namun per Add --disable-dev-shm-use ke flag-flag peluncuran default tampaknya menambahkan argumen
--disable-dev-shm-usage
sementara akan menyelesaikan masalah.Jika Anda ingin memulai / span sesi Browser Chrome baru Anda dapat menggunakan solusi berikut:
disable-dev-shm-use
Per base_switches.cc
disable-dev-shm-usage
tampaknya hanya valid di Linux OS :Dalam diskusi Tambahkan opsi untuk menggunakan / tmp alih-alih / dev / shm David menyebutkan:
Outro
Berikut tautan ke kisah Sandbox .
sumber
DevToolsActivePort file doesn't exist
, dan mengapa tiba-tiba mulai muncul?disable-dev-shm-usage
tidak cukup. Saya juga harus menambahkan--no-sandbox
untuk membuatnya berfungsi. Ini adalah perbaikan lengkap bagi saya untuk Selenium-java:chromeOptions.addArguments("--no-sandbox", "--disable-dev-shm-usage");
Saya mulai melihat masalah ini pada Senin 2018-06-04. Tes kami berjalan setiap hari kerja. Tampaknya satu-satunya hal yang berubah adalah versi google-chrome (yang telah diperbarui ke saat ini) JVM dan Selenium adalah versi terbaru di Linux box (Java 1.8.0_151, selenium 3.12.0, google-chrome 67.0.3396.62, dan jalankan-xvfb).
Khusus menambahkan argumen " --no-sandbox " dan " --disable-dev-shm-use " menghentikan kesalahan. Saya akan melihat ke dalam masalah ini untuk mencari info lebih lanjut tentang efeknya, dan pertanyaan lain seperti apa yang memicu google-chrome untuk memperbarui.
sumber
[java] [1536892035.965][SEVERE]: Timed out receiving message from renderer: 60.000
kesalahan bahkan dengan iniKami mengalami masalah yang sama pada budak jenkins kami (mesin linux) dan mencoba semua opsi di atas.
Satu-satunya hal yang membantu adalah mengatur argumen
Tetapi ketika kami menyelidiki lebih lanjut, perhatikan bahwa layar XVFB tidak memulai properti dan itulah yang menyebabkan kesalahan ini. Setelah kami memperbaiki layar XVFB, itu menyelesaikan masalah.
sumber
Saya memiliki masalah yang sama dengan python. Di atas membantu. Inilah yang saya gunakan dalam python -
sumber
Memperbarui:
Saya dapat mengatasi masalah ini dan sekarang saya dapat mengakses chrome dengan url yang diinginkan.
Hasil dari mencoba solusi yang disediakan:
Saya mencoba semua pengaturan seperti yang disediakan di atas tetapi saya tidak dapat menyelesaikan masalah
Penjelasan tentang masalah ini:
Sesuai pengamatan saya file DevToolsActivePort tidak ada disebabkan ketika chrome tidak dapat menemukan referensi di folder scoped_dirXXXXX.
Langkah-langkah yang diambil untuk mengatasi masalah tersebut
Menambahkan kode di bawah ini untuk memanggil chrome
Menggunakan langkah-langkah di atas saya bisa menyelesaikan masalah.
Terima kasih atas jawaban anda
sumber
Saya menghadapi masalah yang sama baru-baru ini dan setelah beberapa percobaan dan kesalahan itu berhasil juga bagi saya.
HARUS DI ATAS:
BaseSeleniumTests.java
GoogleSearchPageTraditionalSeleniumTests.java
pom.xml
sumber
Dalam kasus saya di lingkungan berikut:
3.7.5
C:\Windows
3.141.0
Saya perlu menambahkan argumen
--no-sandbox
dan--remote-debugging-port=9222
keChromeOptions
objek dan menjalankan kode sebagai pengguna administrator dengan makan siang Powershell / cmd sebagai administrator.Ini adalah kode terkait:
sumber
Saya mengalami masalah ini pada Ubuntu 20 dengan Python Selenium setelah pertama kali mengunduh chromedriver secara terpisah dan kemudian menggunakan
sudo apt install chromium-browser
Meskipun mereka adalah versi yang sama, hal ini terus terjadi.Perbaikan saya adalah menggunakan driver chrome yang disediakan yang datang dengan paket repo yang terletak di
sumber
Sebagaimana dinyatakan dalam jawaban lain ini :
Di antara penyebab yang mungkin, saya ingin menyebutkan fakta bahwa, dalam kasus Anda menjalankan Chromium tanpa kepala melalui Xvfb, Anda mungkin perlu untuk
export
yangDISPLAY
variabel: dalam kasus saya, saya punya di tempat (seperti yang direkomendasikan) yang--disable-dev-shm-usage
dan--no-sandbox
pilihan, semuanya berjalan dengan baik, tetapi dalam instalasi baru yang menjalankan Ubuntu 18.04 terbaru (saat penulisan) kesalahan ini mulai terjadi, dan satu-satunya perbaikan yang mungkin adalah dengan mengeksekusiexport DISPLAY=":20"
(setelah sebelumnya memulai Xvfb denganXvfb :20&
).sumber
Saya juga menghadapi masalah ini saat berintegrasi dengan server jenkins, saya menggunakan pengguna root untuk pekerjaan jenkin, masalah ini diperbaiki ketika saya mengubah pengguna ke pengguna lain . Saya tidak yakin mengapa kesalahan ini terjadi untuk pengguna root.
sumber
Dalam kasus saya, itu terjadi ketika saya mencoba menggunakan profil pengguna default saya:
Ini memicu chrome untuk menggunakan kembali proses yang sudah berjalan di latar belakang, sedemikian rupa, proses yang dimulai oleh chromedriver.exe berakhir begitu saja.
Resolusi: matikan semua proses chrome.exe yang berjalan di latar belakang.
sumber
perbarui kemampuan di conf.js as
sumber
Dalam kasus saya, saya mencoba membuat jar runnable pada OS Windows dengan browser chrome dan ingin menjalankan yang sama pada mode headless di kotak unix dengan CentOs di atasnya. Dan saya mengarahkan biner saya ke driver yang telah saya unduh dan paket dengan suite saya. Bagi saya, masalah ini terus terjadi terlepas dari penambahan di bawah ini:
Solusi yang saya coba dan bekerja untuk saya adalah, unduh chrome dan alat-alatnya di kotak host VM / Unix, instal dan arahkan biner ke ini di suite otomatisasi dan bingo! Berhasil :)
Perintah unduhan:
Instal perintah:
Perbarui suite dengan jalur biner google-chrome di bawah ini:
Dan .. itu berhasil!
sumber
Saya memiliki masalah yang sama, tetapi dalam kasus saya chrome sebelumnya dipasang di folder temp pengguna, setelah itu diinstal ulang ke file Program. Jadi solusi apa pun yang disediakan di sini tidak membantu saya. Tetapi jika memberikan path ke chrome.exe semua berfungsi:
Saya harap ini membantu seseorang =)
sumber
Tidak ada solusi yang berfungsi untuk saya. Tapi di sini ada solusinya:
sumber
Anda bisa mendapatkan kesalahan ini hanya karena menyampaikan argumen buruk ke Chrome. Sebagai contoh, jika saya meneruskan
"headless"
sebagai argumen ke C # ChromeDriver, itu bagus sekali. Jika saya membuat kesalahan dan menggunakan sintaks yang salah"--headless"
,, saya mendapatkanDevToolsActivePort file doesn't exist
kesalahan.sumber
Saya mengalami masalah yang sama, saya menggunakan browser UBUNTU, PYTHON dan OPERA . dalam kasus saya masalahnya berasal karena saya punya versi operadriver yang ketinggalan zaman.
Solusi: 1. Pastikan Anda menginstal versi browser opera terbaru (jangan gunakan opera beta atau pengembang opera), untuk itu buka situs opera resmi dan unduh dari sana versi opera_stable terbaru.
wget https://github.com/operasoftware/operachromiumdriver/releases/download/v.80.0.3987.100/operadriver_linux64.zip
dalam kasus saya terbaru adalah 80.0.3987 seperti yang Anda lihat
Selain itu saya juga menginstal chromedriver (tetapi karena saya melakukannya sebelum pengujian, saya tidak tahu ini diperlukan) untuk menginstal chromedriver, ikuti langkah-langkah pada langkah sebelumnya: v
Nikmati dan terima kasih!
Contoh kode selenium
sumber
Tampaknya ada banyak kemungkinan penyebab kesalahan ini. Dalam kasus kami, kesalahan terjadi karena kami memiliki dua baris kode berikut:
Itu dipecahkan dengan menghapus baris kedua.
sumber
Saya mengalami masalah yang sama menjalankan Chrome melalui Behat / Mink dan Selenium dalam wadah Docker. Setelah beberapa mengutak-atik, saya tiba di berikut
behat.yml
yang memasok switch yang disebutkan di atas. Perhatikan bahwa semua itu diperlukan agar saya berhasil menjalankannya.sumber
Dalam kasus saya, saya berada di lingkungan Kubernetes di mana saya tidak dapat menggunakan TMPDIR default karena itu akan mengisi direktori temp dengan sampah.
Jadi saya menggunakan ini untuk menggunakan tmpdir yang berbeda:
Tapi sekarang setelah saya memutakhirkan semuanya ke yang terbaru, ini sepertinya tidak lagi berfungsi. Saya perlu menemukan cara baru untuk melakukan ini.
sumber
Ini terjadi ketika chromedriver gagal mengetahui apa yang digunakan port debugging chrome.
Salah satu penyebab yang mungkin adalah cacat terbuka dengan HKEY_CURRENT_USER \ Software \ Policies \ Google \ Chrome \ UserDataDir
Tetapi dalam kasus terakhir saya, itu adalah penyebab lain yang tidak dikenal.
Untungnya pengaturan nomor port bekerja secara manual:
sumber
Nomor port yang salah dalam kasus saya. Periksa apakah nomor port ketika memulai server Selenium sama dengan di skrip Anda.
sumber
Saya memecahkan masalah ini dengan menginstal
yum -y install gtk3-devel gtk3-devel-docs
", itu berfungsi okPekerjaan saya adalah:
Sebelum:
Setelah:
sumber
Karena ini adalah pesan paling aktif untuk jenis kesalahan ini, saya ingin menyebutkan solusi saya (setelah menghabiskan waktu berjam-jam untuk memperbaikinya).
Di Ubuntu 18.04, menggunakan Chrome 70 dan Chromedriver 2.44, dan Python3 saya terus mendapatkan kesalahan DevToolsActivePort yang sama, bahkan ketika saya menonaktifkan semua opsi yang tercantum di atas. File log chromedriver dan ps menunjukkan bahwa chromedriver yang saya atur di chrome_options.binary_location sedang berjalan, tetapi selalu memberikan kesalahan DevToolsActivePort. Ketika saya menghapus chrome_options.binary_location = '....' dan menambahkannya ke pembuatan webdriver, saya membuatnya berfungsi dengan baik. webdriver.Chrome ('/ path to ... / chromedriver', chrome_options = chrome_options)
Terima kasih semuanya atas komentar Anda yang membuat saya mengerti dan menyelesaikan masalah ini.
sumber