美文网首页
selenium15-界面二次渲染及半自动化的用途

selenium15-界面二次渲染及半自动化的用途

作者: 筱媛媛 | 来源:发表于2019-06-29 20:02 被阅读0次

以前的web应用大都是后端直接产生最终的html界面,而现在呢?很多是页面加载后, 由前端代码动态改变界面的内容。比如从后端获取一些数据后,再动态改变界面的内容。这就是本篇主要讲解的“界面二次渲染问题,以及我们日常生活中“自动化的用途问题”。希望感兴趣的小伙伴可以坚持看下去同时欢迎提出宝贵的意见让我们一起进步!

01:界面二次渲染

1)概述:操作一个元素时页面会发生变化,此时页面数据会重新生成。

2)解决:操作一个元素后,重新获取页面元素

前置条件:输入正确的账号密码登录教管系统
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.get('http://localhost/mgr/login/login.html')
driver.find_element_by_id('username').send_keys('auto')
driver.find_element_by_id('password').send_keys('sdfsdfsdf')
driver.find_element_by_tag_name('button').click()
(1)需求:删除教管系统的课程
    delButtons = driver.find_elements_by_css_selector('*[ng-click^=delOne]')
    for one in delButtons:
        one.click()
        driver.find_element_by_css_selector( '.btn-primary').click()
        time.sleep(1)
(2)执行结果:StaleElementReferenceException: Message: stale element reference: element is not attached to the page document
(3)产生原因:当点击第一个按钮后页面部分被更新了, 剩余的几个按钮虽然看起来还是原来的样子,但已经是新的界面元素了
(4)解决方案:每次删除之后就重新获取当前界面的元素

修改后的代码如下:

while True:
    delButtons = driver.find_elements_by_css_selector('*[ng-click^=delOne]')
    # 空列表表示课程已经删除
    if delButtons == []:
        break
    # 每次删除第一个课程
    delButtons[0].click()
    time.sleep(1)
02:半自动化的用途

1)概述:图形界面自动化的难度是比较大的,模拟难度大、检查难度大等。

2)实例:12306验证码问题

3)实现:验证码问题人工解决,后面的抢票环节自动化处理

需求点:12306需要输入验证码时,程序停下来发出报警声让人来操作
import time
import winsound
winsound.Beep(1500,30000)发出报警声
time.sleep(10)
********输入完验证码继续执行自动化代码********

相关文章

  • selenium15-界面二次渲染及半自动化的用途

    以前的web应用大都是后端直接产生最终的html界面,而现在呢?很多是页面加载后, 由前端代码动态改变界面的内容。...

  • 前端面试题目

    bat大厂面试题目 浏览器工作原理 浏览器引擎- 用来查询及操作渲染引擎的接口渲染引擎- 渲染界面:Firefox...

  • 11-3.GLKit-索引绘图案例

    准备工作:主要是变量的定义及界面设置 viewDidLoad函数:创建图层并渲染图形2.1 setupContex...

  • 浏览器渲染原理及流程

    浏览器的主要构成 1.用户界面2.浏览器引擎 - 用来查询及操作渲染引擎的接口3.渲染引擎 - 用来显示请求的内容...

  • iOS 界面渲染

    尝试和大家一起探讨以下问题: view绘制渲染机制和runloop什么关系? 所谓的列表卡顿,到底是什么原因引发的...

  • 离屏渲染

    On-Screen Rendering Off-Screen Rendering 界面的渲染过程 渲染过程: 如何...

  • iOS 界面绘制渲染的流程

    参考文档和资料 Demo 流程图 参考链接 界面渲染的整体流程 界面渲染续之CALayer的显示流程 iOS7编程...

  • 认识 V8 引擎

    前言 1.渲染引擎及网页渲染 1.1.渲染引擎 渲染引擎:能够将HTML/CSS/JavaScript文本及相应的...

  • Android界面优化

    1.优化界面层次 针对可以合并的界面层次进行合并,减少界面的渲染,这个过程中主要使用的工具是开发者设置显示过度渲染...

  • Unity初级

    一、Unity简介 1. Unity界面 Shift + Space : 放大界面 Scene界面按钮渲染模式2D...

网友评论

      本文标题:selenium15-界面二次渲染及半自动化的用途

      本文链接:https://www.haomeiwen.com/subject/qxdfcctx.html