ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

selenium自动化测试工具简单使用

2021-07-08 13:34:08  阅读:153  来源: 互联网

标签:浏览器 name selenium driver element 自动化 测试工具 find


1、项目初衷

1、前段时间参加了一个单位组织的培训,学习了python的基本语法,因此想做一个小东西检验一下自己的学习成果;

2、本人工作因单位要求,需要经常刷网课,但是自己一直守在电脑旁边又感觉会浪费许多的时间,因此想通过这个小东西节省大家的时间;

3、培训时认识了一个朋友,这个项目也是受到了他的启发才出现的,非常感谢这位朋友;

2、项目前期准备

2.1、引入selenium库

selenium是一个用于Web应用程序测试的工具,它能和一些编程语言结合实现对浏览器的操纵;说白了就是做到像人为操作浏览器一样;本案例使用的编程语言是Python,要想使用selenium要先安装selenium库,若是配置了Python环境变量的话可以直接在cmd命令行键入以下命令安装该库

pip install selenium

2.2、下载浏览器驱动

  • 想使用自动化测试工具操作浏览器我们还需要下载浏览器驱动,下面给出各大主流浏览器驱动链接:

edge

chrom

firefox

注意下载驱动时要与本机浏览器的版本兼容,一般驱动都会给出相应支持的浏览器版本

3、编写代码

  • 项目结构
    在这里插入图片描述

  • 导入相关包

import time;
import configparser;
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
  • 加载驱动,得到驱动对象
try:
    driver = webdriver.Chrome(r'driver/chromedriver.exe');
    # 窗口最大化
    driver.maximize_window();
except BaseException:
    print("浏览器驱动未成功加载,程序终止!");
    exit();
  • 打开指定的网页
# url是指定网页的url
driver.get(url);
  • selenium元素定位方法
# 单个元素定位
driver.find_element_by_id("id")
driver.find_element_by_name("name")
driver.find_element_by_xpath("path")
driver.find_element_by_link_text("link_text")
driver.find_element_by_partial_link_text("link_text")
driver.find_element_by_tag_name("tag_name")
driver.find_element_by_class_name("class_name")
driver.find_element_by_css_selector("css_selector")
# 多个元素定位
driver.find_elements_by_id("id")
driver.find_elements_by_name("name")
driver.find_elements_by_xpath("path")
driver.find_elements_by_link_text("link_text")
driver.find_elements_by_partial_link_text("link_text")
driver.find_elements_by_tag_name("tag_name")
driver.find_elements_by_class_name("class_name")
driver.find_elements_by_css_selector("css_selector")
  • 赋值,一般用于向input元素输入值(这里以cdsn登录页的用户名)
    1、先定位到input标签
    在这里插入图片描述
    2、根据id值定位到input标签
    username_input = driver.find_element_by_id("all")
    
    3、向input标签输入值
    username_input.send_keys("zhangsan");
    

本人根据学习到的一点点知识做了一个刷课小工具,刷课的网站是工作时使用的《电信网上大学》,代码中给出了详细的注释与说明,理论上适用于所有的视频网站(例如高校使用的智慧树、超星尔雅等),只需要改动一些元素的选择即可,感兴趣的小伙伴可以在本人的gitee仓库或百度网盘进行源码的下载,若是后期有问题也可以加私信本人进行无偿答疑!

标签:浏览器,name,selenium,driver,element,自动化,测试工具,find
来源: https://blog.csdn.net/mms520www/article/details/118554543

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有