【问题标题】:entering text into CKEditor with watir webdriver使用 watir webdriver 将文本输入 CKEditor
【发布时间】:2014-05-22 21:28:35
【问题描述】:

这让我很沮丧。

我还是 ruby​​/watir webdriver 的新手,所以边走边学,所以要温柔。

我正在使用带有 watir webdriver 的 ruby​​ v2 来自动将文本输入到嵌入在页面中的 ckeditor。我一直在网上翻找,几乎阅读了我能找到的关于自动化它的所有内容,但在输入文本方面仍然没有成功。

ckeditor周围的html是;

<div class="cke_inner cke_reset" role="presentation">
<span id="cke_1_top" class="cke_top cke_reset_all" style="height: auto; -moz-user-select: none;" role="presentation"> 
<div id="cke_1_contents" class="cke_contents cke_reset" role="presentation" style="height: 200px;">
<span id="cke_45" class="cke_voice_label">Press ALT 0 for help</span>
<iframe class="cke_wysiwyg_frame cke_reset" frameborder="0" style="width: 100%; height: 100%;" aria-describedby="cke_45" title="Rich Text Editor,contentItemHTML" src="" tabindex="0" allowtransparency="true">
<!DOCTYPE html>
<html lang="en" dir="ltr" webdriver="true">
<head>
<body class="cke_editable cke_editable_themed cke_contents_ltr cke_show_blocks" contenteditable="true" spellcheck="false">
<p>
entering text here
<br type="_moz">
</p>

我使用的代码是;

$browser.iframe(:class, "cke_wysiwyg_frame cke_reset").body(:class, "cke_editable cke_editable_themed cke_contents_ltr cke_show_blocks").send_keys("TEST")

我已经尝试过 send_keys 'Test'

这会将光标放在正确的区域,但不输入任何文本。

任何帮助将不胜感激。

【问题讨论】:

    标签: ruby ckeditor watir-webdriver


    【解决方案1】:

    我发现send_keys 对于富文本编辑器来说很挑剔。例如,我已经看到代码在 Chrome 中正常工作,但在 Firefox 中却不行。同样很难控制send_keys 插入文本的位置。

    假设您并没有尝试实际测试 CKEditor 的功能,您最好使用 watir-webdriver.com 的建议,即直接通过 javascript 设置 html。

    这是由以下人员完成的:

    browser.execute_script("CKEDITOR.instances.editor1.setData('TEST');")
    

    editor1 是 CKEditor 的 id,TEST 是您希望编辑器相等的 html。

    这是一个工作示例(使用 CKEditor 演示页面):

    browser = Watir::Browser.new
    browser.goto "http://ckeditor.com/demo"
    browser.execute_script("CKEDITOR.instances.editor1.setData('TEST');")
    sleep(2) # So you can see the change
    

    【讨论】:

    • 感谢贾斯汀,在这种情况下,我只需要在编辑器中输入一条信息作为我正在为其编写测试脚本而不是测试编辑器本身的应用程序的必需项。非常感谢您的回答,经过一些调整后,它运行良好,让我可以继续自动化。再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多