Selenium webdriver.Chrome()从docker容器调用时抛出WebDriverException,Docker网络问题?

n9vozmp4  于 2023-10-14  发布在  Go
关注(0)|答案(1)|浏览(343)

我在selenium=4.12.0。当我导入from selenium import webdriver和以后尝试下载Chrome驱动程序时,如下所示:webdriver.Chrome()
我得到以下错误:

File "/usr/local/lib/python3.9/site-packages/selenium/webdriver/common/selenium_manager.py", line 144, in run
raise WebDriverException(f"Unsuccessful command executed: {command}.\n{result}{stderr}")
selenium.common.exceptions.WebDriverException: Message: Unsuccessful command executed: /usr/local/lib/python3.9/site-packages/selenium/webdriver/common/linux/selenium-manager --browser chrome --output json.
{'code': 65, 'message': 'error sending request for url (https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/117.0.5938.149/linux64/chromedriver-linux64.zip): error trying to connect: tcp connect error: Operation timed out (os error 110)', 'driver_path': '', 'browser_path': ''}

然而,当我点击链接,显然得到了 selenium 尝试,我确实可以下载驱动程序的zip。所以我认为这是一个Docker网络问题。
如果你能帮忙的话,我将不胜感激。
我搜索了stackoverflow和谷歌类似的错误,但没有找到任何东西。

qojgxg4l

qojgxg4l1#

试着做这件事:
1.从ChromeDriver List下载稳定的chromedriver(不是简单的chrome)
1.将你的代码修改成这种风格:
从selenium.webdriver.Chrome.service导入服务
从Selenium导入webdriver
Chrome_service = Service(“C:\Users\User\Downloads\chromedriver116\chromedriver.exe”)
driver = webdriver.Chrome(service=Chrome_service)
把路径到下载的驱动程序内的服务()和一切都将工作!

相关问题