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()
  • 相关阅读:
    jQuery初级篇
    DOM初级篇
    CSS基础篇
    javascript 初级篇
    HTML 基础篇
    Oracle文章中常用数据表的描述
    Oracle视图基础
    Oracle序列简单应用
    Oracle关联查询关于left/right join的那点事
    赋值和算术运算符
  • 原文地址:https://www.cnblogs.com/heertong/p/12405343.html
Copyright © 2011-2022 走看看