实例化浏览器驱动chromedriver,为何要写webdriver.Chrome()

使用chrome浏览器执行UI自动化测试,编写脚本除了要导入包:from selenium import webdriver
最重要的还要实例化对象:driver = webdriver.Chrome(),为何不是webdriver.chrome(),或其他的写法呢?这个还要查看源码
*\site-packages\selenium\webdriver\__init__.py 有写明导入的模块,摘取几条语句:
1 from .firefox.webdriver import WebDriver as Firefox  # noqa
2 from .chrome.webdriver import WebDriver as Chrome  # noqa
3 from .edge.webdriver import WebDriver as Edge  # noqa
4 from .safari.webdriver import WebDriver as Safari  # noqa
driver = webdriver.Chrome() 其实是实例化 *\site-packages\selenium\webdriver\chrome\webdriver.py 中WebDriver类,
若将“from .chrome.webdriver import WebDriver as Chrome # noqa”修改为“from .chrome.webdriver import WebDriver as Chrome1 # noqa”,继续使用driver = webdriver.Chrome(),执行程序则报错:AttributeError: module 'selenium.webdriver' has no attribute 'Chrome'
所以使用 *\site-packages\selenium\webdriver 的浏览器类型(浏览器驱动),实例化的写法也是类似如此,要看源码。


posted @ 2020-12-27 23:03  furichan  阅读(1042)  评论(0编辑  收藏  举报