zoukankan      html  css  js  c++  java
  • selenium处理富文本框

    selenium处理富文本框 时,直接通过sendKey是不能输入值的,因为这个富文本框时自动通过iframe自动生成的一串html的代码,

    因此跑自动化的时候只能通过js的脚本输入值(如下图)

    1、可以定位到body,然后输入值

    
    
    //富文本框
        @FindBy(tagName="body")
        private WebElement editor;
    
    
    


    public
    void description( )throws InterruptedException{ this.driver.switchTo().frame(this.iframeEditor); Thread.sleep(1000); this.editor.click(); Thread.sleep(1000); int number=(int)(Math.random()*9999); String desc="限公司专注于云计算和大数据相关产品的研发,帮助客户理解数据的意义,挖掘数据背后的价值。"+String.valueOf(number); js.executeScript("return document.getElementById('ueditor_0').contentWindow.document.getElementsByTagName('p')[0].innerHTML='挖掘数据背后的价值'"); js.executeScript("arguments[0].innerHTML = '<h1>Selenium Test </h1>I love Selenium <br> this article Post By Selenium WebDriver<br><h2>Create By amy</h2>'", editor); Thread.sleep(1000); }

    2、有些地方,通过js输入的值,但是后台取不到。是因为,前端处理的时候需要先给文本框一个点击事件,取的光标,然后有了这个事件后,脚本会自动生成一个<textarea>,

    2、公司前端的小伙伴给的另外两种方式(自己还没有验证)

    跳到新的iframe框的
    document.getElementsByClassName("dialog-body-wrap")[0].childNodes[0].contentWindow.document.getElementById('username').value="111111"
    
    使用jquery
    var $=require("jquery")
    $(".dialog-body-wrap").children().contents().find(".input-sign-acccount").val("ss")
  • 相关阅读:
    NOIP201208同余方程
    NOIP模拟赛 最佳组合
    NOIP模拟赛 拓展
    CF1253E Antenna Coverage(DP)
    LOJ6033「雅礼集训 2017 Day2」棋盘游戏 (博弈论,二分图,匈牙利算法)
    CF582E Boolean Function(DP,状态压缩,FMT)
    CF750G New Year and Binary Tree Paths(DP)
    Codeforces Round 596 题解
    AGC008E Next or Nextnext(组合计数,神奇思路)
    ARC082E ConvexScore(神奇思路)
  • 原文地址:https://www.cnblogs.com/amy7758/p/5623605.html
Copyright © 2011-2022 走看看