我正在尝试使用 python 3 从 WSL2 (Ubuntu 18.04) 无头打开 Chrome。
在 Windows 上,我使用的是 Chrome 84。我从ChromeDriver - WebDriver for Chrome下载了 Chrome 驱动程序 84 。并在 C:\ChromeDriver\chromedriver.exe 下安装了 .exe
我已经设置了一个从我的 Windows Chrome 和 ChromeDriver 到 WSL2 的符号链接:
sudo ln -s '/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe' /usr/bin/google-chrome
sudo ln -s /mnt/c/ChromeDriver/chromedriver.exe /usr/bin/chromedriver
两个 Chrome 都设置为可由 WSL2 上的任何用户执行。
在 WSL2 上,当我进入控制台时:
google-chrome --use-gl=swiftshader
Chrome 在 Windows 上启动。
这是我的脚本:
from selenium import webdriver
browser = webdriver.Chrome() # fails
# browser = webdriver.Chrome('/usr/bin/chromedriver') fails
# browser = webdriver.Chrome('/mnt/c/ChromeDriver/chromedriver.exe') fails
browser.get('https://stackoverflow.com')
它失败并出现错误:
raise WebDriverException("Can not connect to the Service %s" % self.path) selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service chromedriver (* OR /usr/bin/chromedriver OR /mnt/c/ ChromeDriver/chromedriver.exe 取决于我如何启动 webdriver.Chrome())
如何能够使用 python3 和 selenium 从 WSL2 启动 Chrome 驱动程序?