在CKEditor上自动上传图像

时间:2015-08-08 23:50:41

标签: javascript ckeditor browser-automation

我需要在使用CKEditor的网站上传图片。对于每张图片,我点击"图片"按钮 - > "上传"标签 - > " 选择文件"按钮 - >在文件浏览器中选择文件 - > "发送到服务器"按钮 - >等待上传 - > "确定"按钮

我几乎能够触发适当的"点击"通过在控制台中输入javascript代码,除了粗体步骤,即,我无法触发" 选择文件" CKEditor上的按钮,即我无法以编程方式单击"浏览"按钮。请注意,一旦文件浏览器打开(通过手动点击),我可以使用autohotkey输入我的文件的地址,然后输入'。 或者,我无法使用javascript(跳过文件打开对话框)设置图像上传路径,这是一个安全风险,但我需要绕过它,至少通过使用我自己的插件/扩展。 请帮我触发文件浏览器或直接将图像路径设置为输入。

以下是CKEditor的演示:http://ckeditor.com/demo

到目前为止我可以跟进。

//click image button
document.getElementsByClassName("cke_button__image")[0].click();

// click "upload" tab
document.getElementsByClassName("cke_dialog_tab")[2].click();

//Need to either trigger "choose file" dialog box or otherwise assign "C:\temp.png" to input

//Click "send to server" button
document.getElementsByClassName("cke_dialog_ui_button")[4].click();

//Need to wait, and then click "OK" button
document.getElementsByClassName("cke_dialog_ui_button")[6].click();

更多信息:我正在编写chrome-extension来注入javascript函数,可以" click()"适当的按钮。由于我已准备好构建扩展,因此必须有一种绕过安全性的方法。任何帮助将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

当弹出文件选择器对话框时,您无法使用javascript控制它,并且在输入类型=" file"您也无法设置其价值,因为这会带来安全风险。

您需要移至具有更高权限的环境才能完全达到您想要的效果。