Python Selenium 驱动下载与配置使用(详细流程)

1、安装

$ pip install selenium

2、下载浏览器驱动(webdriver

  • 根据自己的操作系统下载相对应的驱动,webdriver 需要和对应的浏览器版本以及 selenium 版本对应。

  • 例如当前电脑 Chrome 版本为 版本 107.0.5304.110(正式版本) (arm64),重点只需要看 107.0 后面的小版本号不需要管,打开 Chrome浏览器驱动(chromedriver ) 找到 107.0 开头的下载就行,选这个开头最新的那个。

  • 本来以为下载大于 107.0 的版本(例如 108.0、109.x)高版本会向下兼容,结果报错 This version of ChromeDriver only supports Chrome version 108

    • Chrome浏览器驱动(chromedriver )

    • Firefox浏览器驱动(geckodriver)

    • Edge浏览器驱动(MicrosoftWebDriver)

    • IE浏览器驱动(IEDriverServer)

    • Opera浏览器驱动(operadriver)

    • PhantomJS浏览器驱动(phantomjs),注意:这个无界面浏览器驱动已经不维护了,不推荐使用,selenium 后续版本也不用支持了,点击查看详情。

    • Chrome handless(无界面浏览器,add_argument 支持哪些参数,替代 PhantomJS)

  • 安装路径

    下载驱动后解压出来得到 驱动可执行文件,不要运行,放到指定目录:

    • Windows:复制 webdriverPython 安装路径的根目录下即可。

    • Mac:复制 webdriver/usr/local/bin/usr/bin 目录下,看有哪个目录。

    如果实在不清楚放哪里,但是想使用,那就随便找个文件夹一丢,通过自定义路径导入使用就行,比如项目根目录,直接通过路径访问驱动使用。

3、使用

  • 代码跑起后,没有写关闭浏览器的代码,运行几秒后,浏览器自动关闭的问题解决。

  • 验证浏览器驱动是否正常使用,确保 python 环境正常,selenium 包已经安装。

    # 导入
    from selenium import webdriver
    # 如果需要指定路径,但是路径在新版本中被重构到 Service 函数中了
    # from selenium.webdriver.chrome.service import Service
    # 延时器
    from time import sleep
    
    # 1、浏览器驱动路径
    # win_path = 'chromedriver.exe'
    # mac_path = 'chromedriver'
    
    # 2、直接传入字符串路径报错:DeprecationWarning: executable_path has been deprecated, please pass in a Service object
    # 原因是这种写法将放弃使用
    # driver = webdriver.Chrome(mac_path)
    
    # 2、需要使用 Service 进行包裹一下【推荐】
    # options = webdriver.ChromeOptions()
    # options.add_experimental_option('detach', True) # 不自动关闭浏览器
    # service = Service(mac_path)
    # driver = webdriver.Chrome(service=service, options=options)
    
    # 创建浏览器驱动对象, 以下为创建不同浏览器驱动对象
    options = webdriver.ChromeOptions()
    options.add_experimental_option('detach', True) # 不自动关闭浏览
    driver = webdriver.Chrome(options=options)    # Chrome浏览器
    
    # driver = webdriver.Firefox()   # Firefox浏览器
    
    # driver = webdriver.Edge()      # Edge浏览器
    
    # driver = webdriver.Ie()        # Internet Explorer浏览器
    
    # driver = webdriver.Opera()     # Opera浏览器
    
    # driver = webdriver.PhantomJS()   # PhantomJS,无界面浏览器看上面 Chrome handless 文章
    
    # 打开指定网址
    driver.get('https://www.baidu.com')
    
    # 休眠5秒
    sleep(5)
    
    # 关闭浏览器驱动对象
    driver.quit()
    

你可能感兴趣的:(Python,python,selenium,chrome)