selenium.common.exceptions.WebDriverException:消息:在Python selenium 4中

c86crjj0  于 2023-06-04  发布在  Python
关注(0)|答案(2)|浏览(490)

下面的代码在Python Selenium 3.14上运行,没有问题:

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

chrome_options = Options()
chrome_options.add_argument("--headless")
browser = webdriver.Chrome(options=chrome_options)

但是在将selenium软件包从3.14升级到4.1之后,上面的代码就不再工作了。完整的异常消息:

Traceback (most recent call last):
  File "selenium.py", line 8, in <module>
    browser = webdriver.Chrome(options=chrome_options)
  File "/home/python/selenium/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py", line 70, in __init__
    super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
  File "/home/python/selenium/lib/python3.8/site-packages/selenium/webdriver/chromium/webdriver.py", line 93, in __init__
    RemoteWebDriver.__init__(
  File "/home/python/selenium/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 268, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/python/selenium/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 359, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/python/selenium/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 424, in execute
    self.error_handler.check_response(response)
  File "/home/python/selenium/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 211, in check_response
    raise exception_class(value)
selenium.common.exceptions.WebDriverException: Message:

selenium.common.exceptions.WebDriverException: Message:之后没有指定任何内容,我不知道出了什么问题。
chrome版本和chromedriver版本如下:

user@ubuntu:~/python$ google-chrome --version
Google Chrome 96.0.4664.110 

user@ubuntu:~/python$ chromedriver -v
ChromeDriver 96.0.4664.45 (76e4c1bb2ab4671b8beba3444e61c0f17584b2fc-refs/branch-heads/4664@

任何帮助将不胜感激。

sdnqo3pr

sdnqo3pr1#

您可以尝试传递 chromedriver 二进制文件的绝对路径,如下所示:

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

s = Service('/path/to/chromedriver')
chrome_options = Options()
chrome_options.add_argument("--headless")
browser = webdriver.Chrome(service=s, options=chrome_options)

参考资料

您可以在以下内容中找到一些相关的详细讨论:

  • 弃用警告:executable_path已被弃用selenium python
  • 使用Selenium和Brave Browser传递用python编写的服务对象
  • 弃用警告:executable_path已过时,请传入服务对象
t98cgbkg

t98cgbkg2#

我不知道你是否启用了终端代理。我遇到了同样的问题,但通过关闭代理解决了。

相关问题