python引入selenium报错ImportError: cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import)

发布时间 2023-07-10 16:46:07作者: jamstack

背景:

新建一个名为:selenium.py的脚本文件,代码如下:

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('https://www.baidu.com/')

实现,我们已经通过pip install selenium或conda install selenium(推荐使用conda安装,速度较快,也不容易在安装过程中出现报错!)

运行selenium.py,遇到下面的报错:

ImportError: cannot import name 'webdriver' from partially initialized module 'selenium' (most likely due to a circular import)

 

原因分析:

出现这个报错,并不是selenium没有安装好,是因为脚本文件的名字问题,我们新建的脚本文件叫做:selenium.py,from selenium import webdriver 会优先加载我们新建的selenium.py,而不是去引用selenium包,这就导致了circular import,也就是循环引用!

解决办法:
找到了问题所在,解决办法很简单,就是把我们新建的脚本文件:selenium.py改个别的名字,如:test_selenium.py即可!我们再次运行test_selenium.py,能够正常运行,不会
出现上面的报错了,但是并没有出现chrome浏览器的界面,这是因为我们还没有配置chrome对应的驱动!

配置chrome驱动:
根据chrome浏览器的版本,从http://npm.taobao.org/mirrors/chromedriver/下载对应的chrome驱动文件,
解决出来以后,把chromedriver.exe复制到D:\soft\anaconda3\Scripts就好了,再次运行,就可以看到浏览器打开了https://www.baidu.com页面!

参考资料:
https://blog.csdn.net/weixin_43775400/article/details/121586832
https://blog.csdn.net/u010591976/article/details/104166095