1

嗨,我需要使用 cucumberJS 和 webdriverIO 自动化网站。为此,我需要上传一个文件,但该字段是隐藏的。例如 :

<input type="file" id='uploadFile' style="display: none"'>

但 webdriver 无法识别 UI 上的元素。

提前致谢...

4

2 回答 2

8

在 webdriverIO v5 中,文件通过使用本地文件路径作为参数type="file"调用它们来上传到输入。.setValue()不过,这似乎不适用于隐藏输入,因为.setValue()第一次调用.clearValue()会抛出Element could not be scrolled into view. 要解决此问题,请.addValue()直接调用元素:

input.addValue(filePath);

相关 API 文档:https ://webdriver.io/docs/api/element/addValue.html

于 2019-04-25T19:40:18.417 回答
-1

我得到了这个问题的解决方案。使用 webdriverIO 我们可以执行 javascript 将样式显示从“无”更改为“阻止”。

client.execute(function() {
document.getElementById("element_id").style.display="block";
},function(err) {
client.uploadFile(localPath[,callback])    
if(err){
console.log("Error "+err);
}
});

然后将文件上传到该字段,然后再次将显示更改为无。

于 2015-02-23T16:27:55.120 回答