Chrome Selenium + webdriver_manager导致WebDriverException:消息:无法连接到服务

eagi6jfj  于 2023-07-31  发布在  Go
关注(0)|答案(1)|浏览(317)

解决方案:Selenium的新工具SeleniumManager将完成ChromeDriverManager以前所做的工作。无需使用webdriver_manager

options = Options()
options.add_argument('--no-sandbox')  # Run Chrome without the sandbox
options.add_argument('--headless')  # Run Chrome in headless mode (no GUI)

driver = webdriver.Chrome(options=options)

字符串
我尝试运行下面的代码,但得到以下错误:
WebDriverException:信息:无法连接到服务/Users/abc/.wdm/drivers/chromedriver/mac 64/115.0.5790.114/chromedriver-mac-arm 64/chromedriver

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service as ChromeService
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--no-sandbox')  # Run Chrome without the sandbox
options.add_argument('--headless')  # Run Chrome in headless mode (no GUI)
options.binary_location="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), options = options)


我做了以下工作:
1.确保ChromeDriver二进制文件具有非root用户的可执行权限。
1.确保/etc/hosts文件包含127.0.0.1 localhost

  1. ChromeDriver可执行文件是安装的Chrome版本的正确版本(见下图)
    1.验证ChromeDriver可执行文件的路径是否正确:/Users/abc/.wdm/drivers/chromedriver/mac64/115.0.5790.114/chromedriver-mac-arm64/chromedriver
    1.我添加了/Users/abc/.wdm/drivers/chromedriver/作为路径环境变量。
    x1c 0d1x的数据
    有什么想法吗
mu0hgdu0

mu0hgdu01#

**此问题的根本原因:**Chromium团队对其驱动程序进行了一些修改,最新的稳定驱动程序版本是v114。如果您的系统使用的是v115版本的浏览器,则WebDriverManager无法从Chromium网站找到并下载v115驱动程序。这就是问题的原因。


的数据
参考链接:https://chromedriver.chromium.org/downloads

**解决方案:**您可以尝试以下方法之一:
备选案文1。强制WDM使用驱动程序v114,请参见下面的代码

driver = webdriver.Chrome(service=Service(ChromeDriverManager(version="114.0.5735.90").install()),options=options)

字符串

备选案文2。如果您使用的是Selenium v4.6.0或更高版本,则可以删除WebDriverManager,因为Selenium的新工具SeleniumManager可以完成WDM过去所做的工作。因此,处理浏览器驱动程序不再需要WDM。请参阅下面的答案

https://stackoverflow.com/a/76752843/7598774
https://stackoverflow.com/a/76728148/7598774

更新:

您可以通过以下链接CHROME FOR TESTING使用**“测试用新镀 chrome ”**浏览器和v115镀 chrome 驱动程序

备选案文3。:使用下面的代码启动新的“Chrome For Testing”浏览器:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

service = Service('C:\User\drivers\chromedriver-win32\chromedriver.exe') # v115 chromedriver.exe path
options = Options()
options.binary_location= 'C:\\User\\browsers\\chrome-win64\\chrome.exe' # v115 new ChromeFortesting browser path
options.add_experimental_option("detach", True)
driver = webdriver.Chrome(service=service,options=options)

driver.get("https://www.google.com/")

结果:

**新的“Chrome For Testing”浏览器徽标略有不同(见下图):**左侧是常规Chrome浏览器,右侧是新的Chrome For Testing浏览器。


相关问题