python自动化–selenium

一. 思想

  1. selenium 中多个 WebDriver 实例对应一个 chromedriver 进程,一个 chromedriver 进程管理多个 chrome 进程。一个 WebDriver 实例对应一个浏览器窗口。

二. Selenium自动化测试思路

进行自动化登录:“互联网医院管理并进入任意网页”(原理都是一致的,大家可以选择自己学校的校园网或一些其他网站来练习)
首先我们获得北航vpn的登录网页:
browser = webdriver.Chrome()
browser.get(‘https://e1.buaa.edu.cn/users/sign_in’)
这样我们就打开了登陆界面,是这样子的:
点击chrome浏览器右上角,更多工具——选择“开发者工具”。我们就得到了下面的页面。
下面我们要找到登录的账号输入位置,密码输入位置,以及提交按钮。当我们将鼠标放在右侧代码上时,左侧会出现其多对应的区域,使用这种方法,我们可以一点一点定位如下:
可见右侧input标签就是输入框了,它有一个id是user_login,我们上文讲过,id如果不是动态id那就是独一无二的,可以直接获取,因此可以直接通过如下指令输入账号(密码同理):
browser.find_element_by_id(“user_login”).send_keys(“账号”)
browser.find_element_by_id(“user_password”).send_keys(“密码”)
其中使用send_keys()方法来送入数据
那么如何点击登录呢,同样我们找到对应的标签:
可见有一个name是commit,很幸运,这个界面上只有这一个元素的name是commit,因此可以直接通过name获取,接着调用.click()方法就可以完成点击登录。
browser.find_element_by_name(“commit”).click()
登录完成后是这个样子:
比如这时,我想登录北航图书馆,要怎么做呢?
同样的道理,打开开发者工具,找到北航图书馆对应的标签
我们这次使用find_element_by_xpath()方法来实现。可见如果要定位到该标签,我们先要定位到class为container的div标签,之后定位到其下的ul标签,之后定位到其下的第3个li标签,最后定位到a标签。之后就可以登录到北航图书馆的网站中去。

打开网页后需要登录,F12打开浏览器调试器,小箭头选取元素,查看登录框账号和密码的属性,一般都有ID。selenium可以通过以下各个方法获取元素并进行各种操作,具体解释请看上方链接文档:

find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector

其中id最为有效方便,优先考虑。选取完元素之后可以通过WebDriver API调用模拟键盘的输入和鼠标的点击操作。
测试报告和测试结果解决方案:
1、尽可能的做到数据与脚本的分离,使用数据参数化
2、页面元素容易变动,导致整个代码维护成本高-----使用PageObje的思想,将页面元素和页面模块的方法单独封装,当页面改动时,只需要修改封装的地方,代码维护量少
3、无人值守,测试报告能够自动运行–将测试报告放到指定的文件夹,使用unittest框架执行该文件夹下的所有用例
4、有对应的测试报告和测试结果-----自动生成测试报告,并将测试报告作为邮件的附件发送
三.

python自动化--selenium相关推荐

  1. [python自动化]selenium实现超星某某通自动评论

    目录 思路 代码封装 效果 思路 使用selenium提供的函数实现标签的定位与页面的切换. 编写js代码找上者无法定位的标签(jQuery简单应用) selenium执行js代码 代码封装 from ...

  2. python自动化控制运动_Python +selenium自动化帮你预订运动场地

    导语 炎热的夏天,正是换上短裤短裙晒身材的时候.但是,身材不好怎么办?运动是一个选择,特别是像我们程序员行业,天天坐在空调办公室,更应该出出汗,正所谓:冬练三九,夏练三伏. 下班后,约上公司的妹子,打 ...

  3. python语言+selenium自动化,编写脚本调用Chrome、Firefox浏览器打开百度网站

    python语言+selenium自动化,编写脚本调用Chrome.Firefox浏览器打开百度网站 目标:初始化一个webdriver实例对象driver,通过webdriver.Chrome()和 ...

  4. Python项目实例——selenium自动化项目升级版——定时操作

    低端版:Python的selenium自动化项目实例 升级版加入指定时间段操作功能,例如程序在在上午8:30 到 11:30 下午14:00 到 17:00 晚上19:00 到 晚上 22:00运行 ...

  5. python脚本——selenium自动化执行一些网页上的操作

    文章目录 一.说明 二.代码 三.用法总结 一.说明 通过python的selenium模块,自动化执行一些网页上的重复的无聊的工作. 二.代码 #! /usr/bin/python3.6 from ...

  6. python 爬虫+selenium 全自动化下载JS动态加载漫画

    ** python 爬虫+selenium 全自动化下载JS动态加载漫画 最近刚学的python,代码可能并不规范,希望大家见谅! 爬取之前,我们首先需要做一些准备工作,因为很多网站都有反爬检索,为了 ...

  7. Python之Selenium自动化爬虫

    文章目录 Python之Selenium自动化爬虫 0.介绍 1.安装 2.下载浏览器驱动 3.实例 4.开启无头模式 5.保存页面截图 6.模拟输入和点击 a.根据文本值查找节点 b.获取当前节点的 ...

  8. python自动化流程概念_python selenium 自动化流程的一些总结与思考

    首先要考虑的项目为什么要做自动化测试?(主要从自动化测试的优点着手) 其次是什么项目才适合做自动化测试? 自动化测试覆盖率要达到什么样的程度?因为都知道不可能达到100%的,不然脚本太臃肿,反而会失去 ...

  9. python自动化简历_python+selenium实现简历自动刷新的示例代码

    本文用到的文件的下载地址 百度网盘链接: https://pan.baidu.com/s/1tmpdEfAZKff5TOMAitUXqQ 提取码: e6at 1 安装Python 和 selenium ...

最新文章

  1. 【单片机】以输出方波为例的 定时器使用
  2. postfix+mysql 发件服务
  3. cors在服务器还是接口_cors
  4. Ubuntu 14.04下 Redis MongoDB安装及使用
  5. 用loader.loadbytes直接load bitmapdata.getpixels产生的bytearray
  6. Tungsten Fabric SDN — 软件项目编译与打包
  7. 如何使用Hibernate将PostgreSQL枚举映射到JPA实体属性
  8. linux依赖包在哪个目录,命令-Linux cmd在jar中搜索类文件,而与jar路径无关
  9. SQL中的「规则」 constraint 与「约束」 rule 的区别。
  10. 用计算机探索奥秘规律例题,计算器指法练习题.doc
  11. python字典合并最高效_Python合并两个字典的常用方法与效率比较
  12. Excel2010中打开Smartview时报不能设置类Addin的installed属性
  13. python正则表达式和数据库
  14. 怎样在微信公众平台上传文件给别人下载
  15. 什么是Linux内核?它有什么功能?
  16. 管理大师德鲁克管理学精髓
  17. linux将两个目录做软连接,centos软连接创建
  18. AppSo发布到AppWall页面流程及页面原型还原
  19. 免费WiFi等你来上钩
  20. 支付宝转账银行卡收款二维码制作教程

热门文章

  1. 【小程序】使用WXSS编写样式介绍以及与CSS的区别
  2. 图文情感分析模型降低80%人审核成本,怎么做到的?
  3. vue+quasar开发移动app-搭建项目
  4. 首位女性图灵奖得主、编译器优化领域先驱 Frances Allen 去世
  5. 花神游历各国(线段树)
  6. bowtie2的安装与环境配置
  7. 开机后电脑显示器无信号,怎么解决?
  8. 实用好玩的API文档
  9. sql联合查询(内联、左联、右联、全联)
  10. 美国97岁喜剧演员拥豪宅每天沿街乞讨