什么是富文本编辑器?

富文本编辑器,Rich Text Editor, 简称 RTE, 是一种可内嵌于浏览器,所见即所得的文本编辑器。具体长啥样,如下图:

通过自动化操作富文本编辑器

模拟场景:在富文本编辑器中输入:欢迎关注公众号:软件测试君

1、通过键盘事件实现输入

具体代码如下:

 /**
* 通过键盘事件实现输入操作
*/
@Test
public void testByActions() {
driver.get("https://ueditor.baidu.com/website/onlinedemo.html");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
Actions actions = new Actions(driver);
//鼠标通过tab要先移到富文本框中
actions.sendKeys(Keys.TAB).perform();
actions.sendKeys("欢迎关注公众号:软件测试君").perform();
}

2、通过进入iframe实现输入操作

具体代码如下:

 @Test
public void testBySwitchIframe() {
driver.get("https://ueditor.baidu.com/website/onlinedemo.html");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
//进入富文本编辑器
driver.switchTo().frame("ueditor_0");
//输入文字
driver.findElement(By.className("view")).sendKeys("欢迎关注公众号:软件测试君");
//选中全部
driver.findElement(By.className("view")).sendKeys(Keys.LEFT_CONTROL + "a");
//跳出富文本编辑器
driver.switchTo().defaultContent();
//加粗操作
driver.findElement(By.cssSelector(".edui-for-bold .edui-icon")).click();
}

3、通过执行js实现输入操作

具体代码如下:

/**
* 通过执行js实现输入操作
*/
@Test
public void testByJs() {
driver.get("https://ueditor.baidu.com/website/onlinedemo.html");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
String content = "欢迎关注公众号:软件测试君";
//ueditor_0为所在iframe的id
String js = "document.getElementById('ueditor_0').contentDocument.write('" + content + "');";
((JavascriptExecutor) driver).executeScript(js);
}

以上三种方法,都可在富文本编辑器实现输入操作,仅供参考,如果觉得好,可以关注我哦

Selenium+java - 关于富文本编辑器的处理的更多相关文章

  1. selenium+java解决富文本输入

    方法一: Actions actions = new Actions(driver); actions.sendKeys(Keys.TAB).perform(); //鼠标通过tab要先移到富文本框中 ...

  2. 前后端分离ueditor富文本编辑器的使用-Java版本

    最近在写一个自己的后台管理系统(主要是写着玩的,用来熟悉后端java的知识,目前只是会简单的写点接口),想在项目中编写一个发布新闻文章的功能,想到了使用百度的ueditor富文本编辑器,网上找了很多j ...

  3. 关于富文本编辑器—UEditor(java版)的使用,以及如何将UEditor的文件/图片上传路径改成绝对路径

    突然发现好久没写博客了,感觉变懒了,是要让自己养成经常写文章的习惯才行.既可以分享自己的所学,和所想,和大家一起讨论,发现自己的不足的问题. 大家可能经常会用到富文本编辑器,今天我要说的是UEdito ...

  4. JAVA SpringBoot2 整合 JSP视图模板 整合 Ueditor富文本编辑器

    一般涉及到后台管理系统,就少不了富文本编辑器,这个可以图,文,视频混排的高级工具,笔者通过对比,发现目前市场上最好的三方库还当属百度的 ueditor 近年来 SpringBoot 框架可谓越来越火, ...

  5. JAVA 集成 Ueditor 百度富文本编辑器

    开发环境:一个简单的SpringMVC框架中,用百度富文本编辑器 ueditor 实现图片和文件的上传 官网地址:http://ueditor.baidu.com/website/ 需要使用到的2个文 ...

  6. 在java项目中加入百度富文本编辑器

    富文本编辑器在项目中很常见,他可以将文本,图片等信息存入数据库,在编辑一些图文混排的信息的时候很有用,比如商城项目的商品详情页,包含很多带有样式的文字和图片. 此前一直使用的百度的富文本编辑器uedi ...

  7. 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范

    昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...

  8. 更加简洁易用——wangEditor富文本编辑器新版本发布

    1. 前言 wangEditor富文本编辑器(www.wangEditor.com)从去年11月份发布,至今已经有将近10各月了.它就像一个襁褓中的小婴儿,在我的努力以及众多使用者的支持下不断摸索.成 ...

  9. springMVC -- 整合UEditor(富文本编辑器)

    工作中需要用到UEditor编辑文本,在与springMVC进行整合时,出现了一些问题,结果导致,在进行图片上传时出现如下提示: 上网查询了很多相关资料,此处简要记录下,防止以后遇到类似问题. 一种方 ...

随机推荐

  1. 使用Apollo动态修改线上数据源

    前言 最近需要实现一个功能,动态刷新线上数据源环境,下面来使用Apollo配置中心和Spring提供的AbstractRoutingDataSource来实现. 具体实现 Apollo是携程开源的统一 ...

  2. JavaScript-----14.内置对象 Array()和String()

    5. 数组对象 5.1数组的创建 之前提到过数组的创建方式 字面量 new Array() //创建数组的两种方式 //1.利用数组字面量 var arr = [1, 2, 3]; console.l ...

  3. Fiddler之模拟响应、修改请求或响应数据(断点)

    在测试过程中,有时候需要修改请求或响应数据,或者直接模拟服务器响应,此时可以使用fiddler进行此类操作.可以使用断点功能完成. 一.修改请求数据 在发起请求后,需要修改请求的数据时,可以设置请求前 ...

  4. react 项目引入路由

    下载路由包 npm i react-router-dom -d 前台路由 登陆: /login /login.jsx App.js import React ,{Component} from 're ...

  5. ubuntu下面安装nodejs

    对于刚接触ubuntu的同学来说,一切都是新的,一切都是那么熟悉而又不熟悉的.不管是作为一个前端工程师还是一个后端工程师,我相信大家知道nodejs,但是如果希望自己能够在ubuntu上面使用node ...

  6. 巧妙利用label标签实现input file上传文件自定义样式

    提到上传文件,一般会想到用input file属性来实现,简单便捷,一行代码即可    但input file原生提供的默认样式大多情况下都不符合需求,且在不同浏览器上呈现的样式也不尽相同   我们往 ...

  7. C# 英语纠错 LanguageTool

    WPF中,对单词拼写错误,textbox有相应的附加属性可以设置. <TextBox SpellCheck.IsEnabled="True" /> 但是此属性只在WPF ...

  8. PlayJava Day021

    容器: Collection接口:定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式 List:存储数据有序且可重复 ----> ArrayList Set:存储数据无序且不可 ...

  9. css网页布局模板

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. springcloud Springboot vue.js Activiti6 前后分离 跨域 工作流 集成代码生成器 shiro权限

    1.代码生成器: [正反双向](单表.主表.明细表.树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本.处理类.service等完整模块2. ...