Selenium 处理富文本
来源:互联网 发布:我国教育经费机制知 编辑:程序博客网 时间:2024/04/27 10:24
大多数的网站尤其是论坛,博客这些都会用富文本来代替原来的文本框。对于这种富文本(RichText),我们不能用传统的sendkeys方法来处理,我们可以采用富文本自己的API方法,通过执行JS脚本的方法来处理。
我们来看一个例子:
这个项目目标就是一个富文本,下面是firebug识别出来的信息,通过classname你会发现是找不到元素的,而且使用IDE录制也是无法录制这个输入的。我们来看下网页的源代码,看看里面是怎么定义的。
这个是一个textarea,name为goal,我们用findelementbyname试一下啊,可以找个这个元素,但还是不能输入,在看一下源代码的其他地方
结合上面的我们会发现,这个textarea是经过js处理的了,而且使用的kindeditor,
KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框。
OK,我们通过上面的地址找到kindeditor.zh-cn.js这个文件来看一下,
这里告诉我们,我们使用的kindeditor的版本是3.5.6,那么我们去kindeditor的官网看一下3.x系列的API:
KE.html(id, val)设置编辑器的HTML内容。
参数:id:String,编辑器的ID
val: String,HTML字符串
返回值:无
注: 3.5版本开始支持,旧版本可以使用KE.util.setFullHtml(id, val)。
KE.text(id, val)设置编辑器的内容,直接显示HTML代码。
参数:id:String,编辑器的ID
val: String,文本
返回值:无
注: 3.5版本开始支持。
我们找到上面两个方法,我们都来用一下结果:
//使用KE.html
String s = "KE.html('goal','<b>123</b>');";
((JavascriptExecutor)driver).executeScript(s);
//使用KE.text
String s = "KE.text('goal','<b>123</b>');";
((JavascriptExecutor)driver).executeScript(s);
OK,来看下结果吧。
使用ke.html的结果是“123”(123是加粗的),ke.text的结果是“<b>123</b>”(把html语句直接显示出来了)。这就是这两个方法的区别,大家也可以看一下其他的方法。
- Selenium 处理富文本
- selenium 关于富文本的处理
- Qt富文本处理
- Qt富文本处理
- Android富文本处理
- NSMutableAttributedString富文本处理
- 富文本处理
- 富文本处理NSMutableAttributedString
- Selenium Webdriver处理富文本框
- Python+selenium 关于富文本形式的评论框处理方法
- selenium+python 向富文本输入内容
- PHPExcel处理富文本RichText
- 如何使用python+selenium向富文本编辑器输入内容
- Qt 富文本处理(一)
- Qt 富文本处理(二)
- Rich Text Processing富文本处理
- Android 文本框的 富文本处理
- unity里面富文本的处理
- 超好用的Templates
- C#串口操作类
- 使用apache commons包读取配置文件【转】
- 获取java项目根目录
- Android中全屏或者取消标题栏
- Selenium 处理富文本
- ANDROID 隐藏 任务栏 systemui systembar 全屏显示
- Socket异步发送接收,Windows
- jQuery验证控件jquery.validate.js使用说明
- [Openstack]client api源码学习
- Java编程中写出好代码的建议
- jsp页面跳转常用方法,原谅我是菜鸟
- 12.6
- linux i2c驱动分析