【问题标题】:ImportError: cannot import name 'Chromedriver' from 'selenium' error using ChromeDriver and Chrome through SeleniumImportError: cannot import name 'Chromedriver' from 'selenium' error using ChromeDriver and Chrome through Selenium
【发布时间】:2021-01-13 10:14:15
【问题描述】:

我正在尝试在我的 Mac 上使用 python 自动执行一些日常任务。我有点像初学者,我已经浏览了几个小时试图找到解决这个问题的方法。我正在尝试从 selenium 导入 chromedriver,但我一直收到同样的错误。我尝试重新定位 chromedriver 并重新下载 selenium,但仍然没有结果

这是我的代码:

import selenium
from selenium import Chromedriver

PATH = "/Applications/chromedriver"
driver = webdriver.Chrome(PATH)
 driver.get("https://www.youtube.com/")

这是错误:

Traceback (most recent call last):
  File "/Users/mikaelanwar/Desktop/mything.py", line 2, in <module>
    from selenium import Chromedriver
ImportError: cannot import name 'Chromedriver' from 'selenium' (/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/selenium/__init__.py)

非常感谢您的帮助!

【问题讨论】:

  • 呃,我相信,在大多数场景中,实际上不需要使用 selenium 来模拟用户。例如,如果你想在点击一个按钮后得到结果,你可以在 python 中发送 post 请求而不是点击按钮,因为点击按钮的功能总是发送 post requset。因此,您可以尝试改变获得结果的方式。

标签: python selenium google-chrome selenium-webdriver selenium-chromedriver


【解决方案1】:

您不必导入Chromedriver。导入 webdriver 或导入 Chrome 将达到您的目的。


解决方案

这个问题有两种解决方案:

  • 第一种方法:

    • selenium.webdriver 中删除导入和仅导入Chrome,如下所示:

      from selenium.webdriver import Chrome
      
      PATH = "/Applications/chromedriver"
      driver = webdriver.Chrome(PATH)
      driver.get("https://www.youtube.com/")
      
  • 第二种方法:

    • 删除导入:

      from selenium import Chromedriver
      
    • Selenium导入webdriver

      from selenium import webdriver
      
    • 有效代码块:

      from selenium import webdriver
      
      PATH = "/Applications/chromedriver"
      driver = webdriver.Chrome(PATH)
      driver.get("https://www.youtube.com/")
      

更新

根据Python bindings for Selenium: 支持的 python 绑定是:

  • Python :: 2.7
  • Python :: 3.4
  • Python :: 3.5
  • Python :: 3.6

另外在讨论Selenium 3 is incompatible with Python 3.9@AutomatedTester 明确mentioned

我们不会发布另一个版本 3,因为我们即将完成 Selenium 4。使用 Selenium 4.0.0.a5 是一个替代品,所以应该可以正常工作。不应有任何重大更改。


解决方案

最简单的解决方案似乎是使用:

  • Selenium v​​4.x
  • Python v3.6

【讨论】:

  • 我刚刚尝试了第一种方法,但我收到另一个错误,指出未定义 webdriver。如果您能帮我解决这个问题,我将不胜感激。
  • @micky 你看到了什么错误?第二种方法怎么样?
  • 'Traceback(最近一次调用最后):文件“/Users/mikaelanwar/Desktop/mything.py”,第 4 行,在 driver = webdriver.Chrome(PATH) NameError: name' webdriver'未定义'
  • 我尝试了第二种导入webdriver的方法,但没有成功。当您说要删除导入时,我不明白。
  • @micky 查看更新的答案并让我知道状态。
猜你喜欢
  • 1970-01-01
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
  • 2021-03-02
  • 2020-05-27
  • 1970-01-01
  • 2020-04-09
相关资源
最近更新 更多