2016-01-20 67 views
0

我想清理使用的CKEditor的清理过程中的一个数据库中的某些HTML。我需要它使用这个精确的清理算法,因为这个问题超出了这个范围。提交一个现有的表单可以很好地工作,但是表格中有很多行,如果手动完成的话会造成一个繁琐的过程。硒IDE和CKEditor的

我想出了解决的办法是生成简单地加载页面,然后提交表单为数据库中的每个记录中的硒IDE测试用例。

问题是,当Selenium IDE保存数据时,它似乎不适用CKEditor的HTML清理算法。

例如...

我已经当窗体加载下面在我的数据库(装入CKEditor的):

<p> 
Hello World 
</p> 

当我按下保存表单上,下面是导致我的数据库:

<p>Hello World</p> 

当我运行一个Selenium IDE脚本加载页面并提交表单,但是HTML保持不变(未发生清理)。

这里是一个单一的形式,我的硒脚本的例子:

<table cellpadding="1" cellspacing="1" border="1"> 
<thead> 
    <tr> 
    <td rowspan="1" colspan="3">selenium ckeditor</td> 
    </tr> 
</thead> 
<tbody> 
    <tr> 
    <td>open</td> 
    <td>/form.php?id=1</td> 
    <td></td> 
    </tr> 
    <tr> 
    <td>fireEventAndWait</td> 
    <td>id=form</td> 
    <td>submit</td> 
    </tr> 
</tbody> 
</table> 

似乎没有被触发一些JS事件,但我不知道它可能是哪个事件。

+0

只是猜测这里,但会不会是硒IDE的记录表单提交和进入某个输入到输入的不是行为?另外,你可以清理硒脚本中的HTML吗? :) – Motin

+0

@Motin - 我试着点击进入字段并输入当前值,但是我无法让它工作,并且我认为情况并非如此,因为它确实会做一些HTML更新,例如它会从'

'剥离span标签。 – cornernote

+0

发现,如果我加载页面后发出1秒暂停,它的工作原理! – cornernote

回答

0

加载页面后暂停一秒使其工作。我猜硒提交之前CKEditor的踢。

<table cellpadding="1" cellspacing="1" border="1"> 
<thead> 
    <tr> 
    <td rowspan="1" colspan="3">selenium ckeditor</td> 
    </tr> 
</thead> 
<tbody> 
    <tr> 
    <td>open</td> 
    <td>/form.php?id=1</td> 
    <td></td> 
    </tr> 
    <tr> 
    <td>pause</td> 
    <td>1000</td> 
    <td></td> 
    </tr> 
    <tr> 
    <td>fireEventAndWait</td> 
    <td>id=form</td> 
    <td>submit</td> 
    </tr> 
</tbody> 
</table>