• Python学习--Selenium模块简单介绍(1)


    简介及运行流程

              Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。

              程序脚本可以通过Selenium API来控制脚本

              官网:https://www.seleniumhq.org/

    image

    运行原理:

    image

    通过Selenium API(上层统一控制浏览器API),控制IE/Chrome驱动(底层实现)来实现访问浏览器

    Selenium环境搭建

    0. 安装selenium:进入安装Python的Script目录下,执行

    pip3 install selenium

    image

    当现实Successfully,表示安装成功

    image

    1. 确定自己的Chrome浏览器的内核信息 [设置-> 关于Chrome]

    image

    2. 下载对应的浏览器驱动

    在selenium官网,点击download也可以看到下面的驱动链接

    - chrome 驱动下载地址:[https://sites.google.com/a/chromium.org/chromedriver/] 
    - 国内淘宝镜像:[http://npm.taobao.org/mirrors/chromedriver/]

    image

    image

    如图表示:该驱动可以支持Chrome v70-72版本(对应我们上面浏览器的Chrome 71)

    测试Demo

    通过驱动创建浏览器对象的方法

    1. 通过手动指定浏览器驱动路径
    2. 通过 `$PATH`环境变量找寻浏览器驱动 (复制文件到环境变量的路径下,建议放到Python的环境变量下)

     
    # coding: utf-8
    # 这里是第一种,需要提前复制驱动文件到当前项目中
    import time
    # 1. 导入模块
    from selenium import webdriver
    
    # 2. 创建浏览器对象,
    browser = webdriver.Chrome()  # 参数驱动路径,默认参数也是当前路径的chromedriver驱动
    
    # 3. 输入网址
    browser.get("https://www.baidu.com/")
    
    # 4. 找到输入框,输入关键词
    input_element = browser.find_element_by_id('kw')
    input_element.send_keys("博客园")     # 查询博客园
    # 5. 找到“百度一下”的按钮,点击一下按钮
    button = browser.find_element_by_id('su')
    button.click()
    time.sleep(3)               # 让网页加载完成
    # 6. 找到博客园链接
    url_element = browser.find_element_by_class_name("favurl")
    url_element.click()
    # 退出浏览器
    time.sleep(5)
    browser.quit()

    通过F12来调试代码,寻找元素

    image

    image

    偶遇到报错:查找元素报错,因为网页还没有完全加载出来吗,所有需要等待网页加载完成后再继续查找原始

    image

  • 相关阅读:
    十问5.12汶川大地震
    JZ035数组中的逆序对
    JZ037数字在排序数组中出现的次数
    JZ039平衡二叉树
    JZ033丑数
    JZ040数组中只出现一次的数字
    JZ032把数组排成最小的数
    JZ036两个链表的第一个公共结点
    JZ034第一个只出现一次的字符位置
    JZ031从 1 到 n 整数中 1 出现的次数
  • 原文地址:https://www.cnblogs.com/ftl1012/p/Selenium.html
Copyright © 2020-2023  润新知