chromedriver_py自动维护Webdriver

一、背景

由于Selenium的运行需要浏览器的配合,而驱动浏览器需要对应浏览器版本的驱动webdriver,但如何维护这些webdirver就比较麻烦,原因如下:

1)计算机上可能根本就没有安装Chrome。

2)对于不同的操作系统,Chrome的安装路径不一样。

3)即使是相同的操作系统,Chrome的安装路径也可能不一样,因为安装路径是用户可配置的。

4)即使计算机上安装了Chrome,版本也可能跟Web Driver的版本不一致,导致代码不能运行

from selenium import webdriver
browser = webdriver.Chrome(executable_path=chrome_dirver_filepath)

为了解决这个问题,我们可以安装一个辅助模块,名为chromedriver_py,它会根据相应的操作系统安装对应的Chrome版本,并且自动维护相应的可执行文件路径。

pip install chromedriver_py

二、实践

安装好第三方插件后,我们就可以很方便的调用webdriver,而不用再刻意去维护webdriver的版本及路径问题。

import time
from selenium import webdriver
from chromedriver_py import binary_path as chrome_driver_path

class TestWebdriver:
    def setup(self):
        self.driver = webdriver.Chrome(executable_path=chrome_driver_path)
        self.driver.maximize_window()
        self.driver.get("http://www.baidu.com")

    def teardown(self):
        time.sleep(3)
        self.driver.quit()

    def test_baidu_search(self):
        self.driver.find_element_by_id('kw').send_keys("pytest")
        self.driver.find_element_by_id('su').click()
posted @ 2021-09-18 17:22  xyztank  阅读(241)  评论(0编辑  收藏  举报