WebDriver浏览器驱动(Python)

PS:自己的经验积累,同时分享。若内容有不妥,还望交流指正,谢谢!

以Python为例,对WebDrivr启动浏览器方法进行一些梳理和经验总结。简单介绍三款主流浏览器:Chrome、Firefox、IE/Edge。其实其他浏览器的启动方法基本类似,只是一些细节需要在使用中摸索总结,这三款是我个人用的比较多的,其中使用最多的是Chrome。

一、Chrome

Chrome的驱动是chromedriver.exe。chromedriver不严格区分32/64位,对应浏览器版本、系统版本即可。

较高版本(Chrome70以后)Chrome与chromedriver版本号一致,根据Chrome大版本下载即可,若一个Chrome对应多个chromedriver可根据详细版本号或时间顺序对应查找。如下图:
在这里插入图片描述
在这里插入图片描述

低版本的Chrome,Chrome版本号与chromedriver版本号不同,对应下表查找:
在这里插入图片描述
chromedrivr参考下载地址:
http://npm.taobao.org/mirrors/chromedriver/。

二、Firefox

Firefox的驱动是geckodriver.exe。Firefox需要匹配Selenium、Firefox版本,Selenium2内置驱动向前支持默认路径安装的Firefox。Selenium3以上版本Firefox47向后支持,但目前没有严格的版本对照,但区分32/64位,推荐大家根据浏览器版本时间、geckodriver版本时间,对照下载。如下图:
在这里插入图片描述
在这里插入图片描述
geckodriver参考下载地址:
http://npm.taobao.org/mirrors/geckodriver/。

三、IE/Edge

IE的驱动是IEDriverServer.exe。IEDriverServer版本与Selenium版本对应,注意区分到详细版本,根据Selenium版本下载,区分32/64位。另外需要注意的是,需要在浏览器的Internet选项中的安全页里有4个安全选项,Internet、本地Internet、受信任的站点、受限制的站点,这4个里面都有一个启用保护模式,都需要勾选上。如下图:
在这里插入图片描述
在这里插入图片描述
IEDriverServer参考下载地址:
http://selenium-release.storage.googleapis.com/index.html。

Edge的驱动是MicrosoftWebDriver.exe(Legacy)/edgedriver.exe。旧版Edge18及以上会自动提供WebDriver更新。旧版Edge17及以下,根据Edge版本对应MicrosoftWebDriver版本下载。旧版Edge在如下图:
在这里插入图片描述
新版Edge根据Edge版本对应MicrosoftWebDriver版本下载,如下图:
在这里插入图片描述
注意区分新/旧版本MicrosoftWebDriver下载,如下图:
在这里插入图片描述
MicrosoftWebDriver/edgedriver参考下载地址:
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/。

四、浏览器驱动封装实例(Python)


from selenium import webdriver


class browser_Wrapper:

    def browser_wrapper(self, item):
        '''
        启动浏览器
        :param item:Chrome/Firefox/IE/Edge
        :return:
        '''
        # 本方法中的driver使用环节变量配置,将对应版本driver放置Python安装路径中即可
        if item == "Chrome":
            print("===为您启动Chrome...")
            # 配置Chrome启动项
            self.option = webdriver.ChromeOptions()
            # 屏蔽自动化受控提示 && 开发者提示
            self.option.add_experimental_option("excludeSwitches", ['enable-automation', 'load-extension'])
            # 屏蔽'保存密码'提示框
            self.prefs = {}
            self.prefs["credentials_enable_service"] = False
            self.prefs["profile.password_manager_enabled"] = False
            self.option.add_experimental_option("prefs", self.prefs)
            # 启动谷歌浏览器
            webdriver.Chrome(options=self.option)
            # 线程等待2秒
        elif item == "Firefox":
            # 火狐浏览器无需进行配置,注意这里的火狐是安装在默认路径的,自定义路径安装的需要配置火狐的绝对路径
            print("===为您启动Firefox...")
            # 启动火狐浏览器
            self.driver = webdriver.Firefox()
            # 线程等待2秒
        elif item == "IE":
            print("===为您启动IE...")
            # 注意iedriver版本需要与selenium版本对应
            self.driver = webdriver.Ie()
        elif item == "Edge":
            print("===为您启动Edge...")
            # 注意与Edge版本匹配
            self.driver = webdriver.Edge()
        else:
            print("===未找到您的浏览器配置,请使用其他浏览器()...")


if __name__ == '__main__':
    # 调用启动浏览器方法browser_wrapper(),入参为:"Chrome"/"Firefox"/"IE"/"Edge"
    browser_Wrapper().browser_wrapper("Chrome")
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值