pyChram导入from selenium import webdriver包为什么报错

如下:C:\Users\Administrator\PycharmProjects\untitled\venv\Scripts\python.exe E:/yao/untitled/hafuDemo01/demo01.py
Traceback (most recent call last):
File "E:/yaojinjin/yao/untitled/hafuDemo01/demo01.py", line 6, in <module>
browser = webdriver.Chrome()
AttributeError: module 'selenium.webdriver' has no attribute 'Chrome'

Process finished with exit code 1

第1个回答  2018-03-22
在当前目录有名叫selenium的文件,Python会先导入这个文件,然后再导入标准库里面的selenium.py。

可以使用
import selenium
print selenium.__file__

去看打印出的文件路径,如果不是类型下面的地址C:\Python27\lib\site-packages\selenium-2.31.0-py2.7.egg\selenium\__init__.pyc,需要把当前目录下的名叫selenium文件删除或者重命名。
WebDriver原理分析
WebDriver与之前Selenium的JS注入实现不同,直接利用了浏览器native
support来操作浏览器。所以对于不同平台,不同的浏览器,必须依赖一个特定的浏览器的native
component来实现把WebDriver API的调用转化为浏览器的native invoke。
在我们new一个WebDriver的过程中,Selenium首先会确认浏览器的native
component是否存在可用而且版本匹配。接着就在目标浏览器里启动一整套Web Service,这套Web
Service使用了Selenium自己设计定义的协议,名字叫做 The WebDriver Wire Protocol
。这套协议非常之强大,几乎可以操作浏览器做任何事情,包括打开、关闭、最大化、最小化、元素定位、元素点击、上传文件等等。
相似回答