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()
  • 相关阅读:
    明明已经include_once() 但还是报错Class 'XXXXXControllerTOPData' not found
    dell U2515H 2k显示器黑屏问题,dp线问题。
    centos7.4 php5升级到php7
    thinkphp批量插入 更新sql
    查询速度慢了10倍,查询条件类型不对,字符串当做数字类型。
    margin-left:auto;margin-right:auto; 不起作用的原因
    jquery 查找元素,id,class
    php分割url,获取参数query
    阿里云服务器删除日志的方法,查看有哪些大文件
    sql优化 分字段统计查询
  • 原文地址:https://www.cnblogs.com/heertong/p/12405343.html
Copyright © 2011-2022 走看看