我想知道某个网站是否允许您上传文件。我可以想到网站执行此操作的两种主要方式,理想情况下我希望能够同时检测到这两种方式:
PhantomJS 文档有这个示例片段:
var webPage = require('webpage');
var page = webPage.create();
page.uploadFile('input[name=image]', '/path/to/some/photo.jpg');
但不清楚我怎么能弄清楚 input[name=image]
实际上支持上传。目前,我的爬虫正在跟踪网站上的所有链接和按钮,但我不确定如何检测“文件上传弹出窗口已打开”。对我来说,D&D 案子就更不清楚了。我需要一个单页的解决方案,显然我可以将它应用到我通过的每一页。
更新
事实证明,这在大多数情况下都可以解决问题:
document.querySelector('input[type=file]').click()
然而,D&D 区域并不总是可点击的,你不能总是假设 [ondrop]
将出现。有时,在代码中添加了 drop listener:object.addEventListener("drop", myScript);
那我该如何检查这些元素的存在呢?
最佳答案
您可以检查表单是否有 enctype="multipart/form-data"或不。或使用 搜索输入类型=文件 在html页面中。
关于javascript - 如何检测网站是否允许您上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70378815/