1 先看实例
- 需求是:打开百度,输入NoamaNelson进行搜索
- 代码实现:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("NoamaNelson")
time.sleep(1)
driver.find_element_by_id("kw").send_keys(Keys.ENTER)
driver.maximize_window()
time.sleep(0.5)
driver.quit()
2 提出疑问
- 为什么需要引入
from selenium import webdriver包?
- 为什么是
webdriver.Chrome()?
- 带着这两个问题,我们来分析下
3 为什么引入webdriver包?
- 因为webdriver中定义各种浏览器的支持

- 再看源码路径:
Python37\Lib\site-packages\selenium\webdriver\__init__.py
from .firefox.webdriver import WebDriver as Firefox
from .firefox.firefox_profile import FirefoxProfile
from .firefox.options import Options as FirefoxOptions
from .chrome.webdriver import WebDriver as Chrome
from .chrome.options import Options as ChromeOptions
from .ie.webdriver import WebDriver as Ie
from .ie.options import Options as IeOptions
from .edge.webdriver import WebDriver as Edge
from .opera.webdriver import WebDriver as Opera
from .safari.webdriver import WebDriver as Safari
from .blackberry.webdriver import WebDriver as BlackBerry
from .phantomjs.webdriver import WebDriver as PhantomJS
from .android.webdriver import WebDriver as Android
from .webkitgtk.webdriver import WebDriver as WebKitGTK
from .webkitgtk.options import Options as WebKitGTKOptions
from .remote.webdriver import WebDriver as Remote
from .common.desired_capabilities import DesiredCapabilities
from .common.action_chains import ActionChains
from .common.touch_actions import TouchActions
from .common.proxy import Proxy
- 可以看出,如果想支持某个浏览器,就需要selenium\webdriver\浏览器\webdriver
- 而
__init__.py中将对应的浏览器的webdriver进行了as方法引用
4 为什么是webdriver.Chrome()?
- 从第三步的分析,我们如果想支持chrome浏览器,源码是
from .chrome.webdriver import WebDriver as Chrome
- 那么直接使用:
webdriver.Chrome()即可
5 浏览器支持类型
driver = webdriver.Ie()
driver = webdriver.Firefox()
driver = webdriver.Edge()
android:android浏览器支持
blackberry:blackberry平台支持
chrome:谷歌浏览器支持
edge:微软edge浏览器支持,一般要windows10及以上
firefox:火狐浏览器支持
ie:ie浏览器支持
opera:opera浏览器支持
phantomjs:内存模式可以渲染解析js、css、html,可以快速运行
safari:apple下的浏览器支持
webkitgtk:WebKitGTK是KDE、Apple、Google等公司共同开发的一套开源的Web浏览器引擎