使用 PhantomJS/CasperJS 上传 JS 文件

JS file upload with PhantomJS/CasperJS

我正在尝试在 CasperJS 中自动上传图片。

site 上的表单似乎正在使用 plupload。单击按钮后,将出现一个文件浏览器对话框,可以在其中选择多个图像。

如何使用 CasperJS 处理这个文件上传表单?是否可以一次上传多张图片?

甚至自定义文件上传小部件也在其 UI 下方使用 <input type="file" ...> 元素。这是访问客户端计算机上的文件所必需的。

您可以通过直接设置需要上传的文件来绕过插件UI。由于 CasperJS 构建于 PhantomJS 之上,您可以使用所有 PhantomJS 函数,包括 page.uploadFile(selector, filename)。在你的情况下,它看起来像这样:

casper.page.uploadFile("#uploaders input[type='file']", myfilename);

请注意,如果您事先知道文件输入元素名称并且文件输入字段位于表单元素内,也可以使用所有 casper.fill*() 函数。