使用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 的瀏覽器類型(瀏覽器驅動),實例化的寫法也是類似如此,要看源碼。