zoukankan      html  css  js  c++  java
  • UI自动化之JS处理

    在进行UI自动化过程会遇到滚动条下拉、隐藏元素定位、只读属性元素的编辑、富文本处理等,此时可以使用JS处理后,再使用execute_script()方法执行

    1、滚动条下拉处理

    from selenium import webdriver
    import time as t
    
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('https://www.baidu.com/')
    driver.find_element_by_id('kw').send_keys('自动化测试')
    driver.find_element_by_id('su').click()
    t.sleep(2)
    script = "document.documentElement.scrollTop=1000" #向下滚动
    driver.execute_script(script)
    t.sleep(1)
    script1 = "document.documentElement.scrollTop=0"  #向上滚动
    driver.execute_script(script1)
    t.sleep(1)
    driver.quit()

    2、隐藏元素定位、只读属性元素处理

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <center>
        <input type="hidden" name="na" id="na">
        <input id="kw" name="nr" readonly="readonly">
    </center>
    
    </body>
    </html>
    from selenium import webdriver
    import time as t
    
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get("D:\pycharmwokspace\UITEST\html\index4.html")
    t.sleep(2)
    script = "document.getElementById('na').removeAttribute('type')" #移除type属性
    driver.execute_script(script)
    t.sleep(2)
    script2 = "document.getElementById('kw').removeAttribute('readOnly')" #移除readOnly属性
    driver.execute_script(script2)
    t.sleep(1)
    driver.find_element_by_id('kw').send_keys('测试')
    t.sleep(1)
    driver.quit()

    3、富文本处理,富文本一般嵌套在iframe中

    from selenium import webdriver
    import time as t
    
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get('http://ueditor.baidu.com/website/onlinedemo.html')
    t.sleep(1)
    js = "document.getElementById('ueditor_0').contentWindow.document.body.innerHTML='自动化测试'" #id处填写iframe的ID,innerHTML= 需要输入的内容
    driver.execute_script(js)
    t.sleep(2)
    driver.quit()
  • 相关阅读:
    php类和对象: 类常量
    类和对象:静态属性、静态方法
    类和对象: 构造方法
    类和对象:成员属性、成员方法 — 学习笔记3
    类和对象:创建对象
    类和对象:类与对象定义
    可扩展定制可复用的倒计时插件
    SeaJS入门
    JS可复用的多条件筛选插件
    谁说转载的文章用户就不喜欢了?
  • 原文地址:https://www.cnblogs.com/heertong/p/12405343.html
Copyright © 2011-2022 走看看