Python爬虫-Selenium WebDriver的安装教程及使用

06-01 1829阅读

文章目录

  • 前言
  • 一、环境的安装
    • (一)Selenium的安装
    • (二)安装浏览器驱动
    • (三)配置环境变量
    • 二、使用步骤
      • (一)基本使用
      • (二)模拟登录豆瓣

        前言

        本篇文章主要讲解了Selenium WebDriver的安装和使用方法,并演示了如何利用Selenium模拟登录豆瓣。


        一、环境的安装

        (一)Selenium的安装

        Selenium 是一个开源的自动化测试框架,主要用于Web应用程序的测试。它提供了一套工具和库,可以模拟用户在浏览器中的操作,如点击按钮、填写表单和导航网页。Selenium 支持多种浏览器(如Chrome、Firefox、Safari等)和编程语言(如Java、Python、C#等),使得测试人员能够编写跨浏览器的自动化测试脚本。

        安装selenium库

        使用国内源:阿里云源

        pip3 install selenium -i https://mirrors.aliyun.com/pypi/simple

        Python爬虫-Selenium WebDriver的安装教程及使用

        查看selenium版本

        pip show selenium

        Python爬虫-Selenium WebDriver的安装教程及使用

        (二)安装浏览器驱动

        WebDriver 是 Selenium 框架中的核心组件之一,它用于与浏览器进行交互,从而实现自动化测试。WebDriver 提供了一种简单的编程接口,可以用于控制浏览器的行为,模拟用户与网页的交互。

        安装webdriver

        https://chromedriver.storage.googleapis.com/index.html

        我下载的是旧版本的102.0.5005.61的驱动

        Python爬虫-Selenium WebDriver的安装教程及使用

        谷歌太新导致不兼容,卸载新版本下载老版本谷歌就可以了

        https://www.chromedownloads.net/chrome64win/

        https://downzen.com/en/windows/google-chrome/versions/

        Python爬虫-Selenium WebDriver的安装教程及使用

        (三)配置环境变量

        将下载的驱动程序放到计算机的全局变量中

        Python爬虫-Selenium WebDriver的安装教程及使用

        查看版本

        Python爬虫-Selenium WebDriver的安装教程及使用

        至此,Selenium和谷歌驱动的配置已经完成。

        二、使用步骤

        (一)基本使用

        现在我们可以启动Python来尝试启动谷歌浏览器。

        访问百度
        >>> from selenium import webdriver
        >>> driver=webdriver.Chrome()
        >>> driver.get("http://www.baidu.com")
        

        Python爬虫-Selenium WebDriver的安装教程及使用

        窗口最大化:driver.maximize_window()

        Python爬虫-Selenium WebDriver的安装教程及使用

        driver.back() #后退百度首页

        Python爬虫-Selenium WebDriver的安装教程及使用

        driver.forward() #前进豆瓣首页

        Python爬虫-Selenium WebDriver的安装教程及使用

        driver.refresh() #刷新当前页面

        print(driver.title) #获取豆瓣首页的标题信息

        print(driver.current_url) #获取当前页面url

        Python爬虫-Selenium WebDriver的安装教程及使用

        (二)模拟登录豆瓣

        豆瓣登录有密码登录和短信登录,选择密码登录

        Python爬虫-Selenium WebDriver的安装教程及使用

        F12使用开发者工具定位到密码登录的元素

        Python爬虫-Selenium WebDriver的安装教程及使用

        定位class属性

        Python爬虫-Selenium WebDriver的安装教程及使用

        Selenium元素定位的代码运行之后会报错,发现是Selenium更新到新版本(4.x版本)后,以前的一些常用的代码的语法发生了改变

        Python爬虫-Selenium WebDriver的安装教程及使用

        Selenium降级以后,使用失败,继续用新版本的selenium,使用新版本定位元素代码

        新版本Selenium元素定位代码:
        # inputTag = driver.find_element_by_id("value")  # 利用ID查找
        # 改为:
        inputTag = driver.find_element(By.ID, "value")
        # inputTags = driver.find_element_by_class_name("value")  # 利用类名查找
        # 改为:
        inputTag = driver.find_element(By.CLASS_NAME, "value")
        # inputTag = driver.find_element_by_name("value")  # 利用name属性查找
        # 改为:
        inputTag = driver.find_element(By.NAME, "value")
        # inputTag = driver.find_element_by_tag_name("value")  # 利用标签名查找
        # 改为:
        inputTag = driver.find_element(By.TAG_NAME, "value")
        # inputTag = driver.find_element_by_xpath("value")  # 利用xpath查找
        # 改为:
        inputTag = driver.find_element(By.XPATH, "value")
        # inputTag = driver.find_element_by_css_selector("value")  # 利用CSS选择器查找
        # 改为:
        inputTag = driver.find_element(By.CSS_SELECTOR, "value")
        

        Python爬虫-Selenium WebDriver的安装教程及使用

        定位账号和密码

        定位ID属性

        Python爬虫-Selenium WebDriver的安装教程及使用

        Python爬虫-Selenium WebDriver的安装教程及使用

        Python爬虫-Selenium WebDriver的安装教程及使用

        总代码:

        from selenium import webdriver
        from selenium.webdriver.common.by import By
        import time
        #打开浏览器,访问豆瓣网址
        driver = webdriver.Chrome()
        # driver.maximize_window()   #窗口最大化
        driver.get("https://accounts.douban.com/passport/login")
        #点击密码登录
        element = driver.find_element(By.CLASS_NAME, 'account-tab-account')
        element.click()
        #定位账号和密码
        driver.find_element(By.ID,'username').send_keys('******') #模拟键盘输入操作
        driver.find_element(By.ID,'password').send_keys('******')
        #点击登录豆瓣
        driver.find_element(By.LINK_TEXT,'登录豆瓣').click() #通过部分链接文本定位元素
        #等待20秒以后,自动关闭
        time.sleep(20)
        driver.quit()
        

        Python爬虫-Selenium WebDriver的安装教程及使用

        Python爬虫-Selenium WebDriver的安装教程及使用

        登录成功。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码