使用 Windows 子系統 WSL2。我正在嘗試在 Ubuntu 20.04 中打開瀏覽器。
按照命令安裝 google chrome 和 chrome-driver
https://tecadmin.net/setup-selenium-chromedriver-on-ubuntu/
通過終端啟動 chrome 時遇到問題。也無法初始化瀏覽器。
版本:
- 視窗 10
- Ubuntu 20.04
- 谷歌瀏覽器 102.0.5005.61
- ChromeDriver 102.0.5005.61
- 硒網路驅動程式(4.1.0)
- 水 (7.1.0)
當我嘗試通過終端打開 google-chrome 時。
$google-chrome
錯誤:[0530/135205.172753:ERROR:exception_handler_server.cc(361)] getsockopt:無效引數 (22)
$sudo update-alternatives --config x-www-browser
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/google-chrome-stable 200 auto mode
1 /usr/bin/chromium-browser 40 manual mode
2 /usr/bin/google-chrome-stable 200 manual mode
3 /usr/bin/wslview 30 manual mode
我也嘗試在 IRB 中初始化瀏覽器。
require 'watir'
browser = Watir::Browser.new(:chrome)
錯誤:Net::ReadTimeout
也嘗試重新安裝子系統。仍然面臨同樣的問題。
uj5u.com熱心網友回復:
幾個可能的問題:
首先,您提到您在 WSL2 上,但您收到的 Chrome 錯誤讓我相信您可能在 WSL1 上。如果我
google-chrome在 WSL1 上運行,但在 WSL2 上沒有,我會看到相同的錯誤。用 . 仔細檢查
wsl.exe -l -v。您可能需要使用 . 將實體轉換為 WSL2wsl --set-version <distro> 2。其次,
google-chrome即使在 WSL2 上運行,也需要 X 服務器。Windows 10 中的 WSL 不支持 GUI 應用程式,因此您需要在 Windows 中安裝和配置 X 服務器。您會找到有關該主題的其他問題和答案,因此我不會在這里花太多時間,因為您真正的問題是關于無頭運行 Chrome。只要您正在運行 WSL2,您就應該能夠使用 Watir 無頭運行 Chrome。看起來您缺少的主要內容是沒有根據此檔案
headless: true使用 Chrome 選項呼叫 Watir 。以下是我使用 Watir 和 Chromedriver 所采取的步驟。請注意,第一行是您鏈接到的方向的固定版本,因為它需要
sudo apt-key add而不是sudo curl:curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add sudo bash -c "echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list.d/google-chrome.list" sudo apt update sudo apt install -y google-chrome-stable google-chrome --version # To check the Chromedriver version to download cd ~ wget https://chromedriver.storage.googleapis.com/102.0.5005.61/chromedriver_linux64.zip unzip chromedriver_linux64.zip mv chromedriver ~/.local/bin # A directory on your path gem install --user-install watir irb在 irb 中:
require 'watir' browser = Watir::Browser.new :chrome, headless: true browser.goto 'https://stackoverflow.com/q/72432711/11810933' puts browser.title這會在此處回傳您的問題的標題。
如本頁所述,也可以使用該
headless包。添加以下內容:
sudo apt install xvfb gem install --user-install headless然后在irb中:
require 'watir' require 'headless' headless = Headless.new headless.start browser = Watir::Browser.new(:chrome) browser.goto 'https://stackoverflow.com/q/72432711/11810933' puts browser.title headless.destroy
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/483361.html
