这是HTML代码:
"Other"
您可以在图片详细信息中看到: 如果元素不是“input”标记名,如何处理上传函数?
当前解决方案:
元素输入[type =“file”]隐藏在屏幕后面,您可以将密钥发送到此元素(用于上传一个或多个文件)。 这是我的代码:
<px-upload-zone class="dz-clickable" _ngcontent-c34="" _nghost-c35="">
<div class="upload-container" _ngcontent-c35="">
<!---->
<div class="dialog-wrapper dz-default dz-message" _ngcontent-c34="">
<span _ngcontent-c34="">Drag & Drop</span>
<span class="browse-label" _ngcontent-c34="">
<span _ngcontent-c34="">or</span>
<label class="link-label" _ngcontent-c34="">browse</label>
</span>
</div>
<div class="upload-summary" _ngcontent-c35="">
<div class="dropzone-previews" _ngcontent-c35="">
</div>
</px-upload-zone>
答案 0 :(得分:4)
您可以在屏幕后面找到隐藏的输入[type =“file”]元素,当您拖放文件或上传文件时,它会在内部将值设置为隐藏输入[type =“file”]元素。您可以取消隐藏input元素,然后使用sendKeys上传文件。我之前遇到过类似的问题。
答案 1 :(得分:1)
当你点击它时,如果你得到这样的桌面弹出窗口: -
然后您可以使用自动对其执行操作(桌面窗口)。 请参阅以下链接
https://www.npmjs.com/package/autoit
过程是: -
代码示例: -
var au = require('autoit');
au.Init();
au.WinWait("[Title:Open]");
au.ControlFocus("Open", "", "Edit1");
au.ControlSetText("Open", "", "Edit1", absolutePath);
au.Sleep(1000);
au.ControlClick("Open", "", "Button1");