我正在尝试使用selenium web-driver在以下输入中添加图像。
<input type="file" multiple="multiple" class="dz-hidden-input" accept="image/gif,image/jpg,image/jpeg,image/png,application/zip" style="visibility: hidden; position: absolute; top: 0px; left: 0px; height: 0px; width: 0px;">
当使用sendKeys时,它给出了ElementNotVisible:当隐藏可见性时,元素当前不可见。
试图使用Java脚本设置值执行,它给了Web驱动程序异常,说“操作不安全”。
我发现this封闭式问题与我的相似。
试过:
executor.executeScript("arguments[0].style.visibility='visible';",fileInput);
executor.executeScript("arguments[0].style.display='block';", fileInput);
启用可见性但发送密钥失败并出现相同错误。
我发现了类似的问题Uploading a file through selenium but file input element is hidden,但我的元素永远不可见。
我尝试使用selenium IDE使用type命令。
如果有人遇到同样的问题以及如何解决这个问题,请告诉我。
先谢谢
答案 0 :(得分:2)
尝试将Input元素的Opacity设置为1,然后使用SendKeys提供文件路径。可以使用以下代码设置不透明度:
executor.executeScript("arguments[0].style.visibility='visible';",fileInput);
executor.executeScript("arguments[0].style.height='200px';",fileInput);
executor.executeScript("arguments[0].style.width='200px';",fileInput);
然后执行sendKeys方法。
Lemme,如果有帮助!
答案 1 :(得分:0)
如果您在一个页面上使用多个dropzones定位dz-hidden-input时出现问题,则应执行以下操作:
init: function() {
this.hiddenFileInput.className = "dz-hidden-input dz-hidden-input-one";
}
然后你可以用$(“。dz-hidden-input-one”)
来定位隐藏的输入