我尝试编写一个SeleniumIde插件,允许我在.csv文件中写入一些值。所以,我创建了这个js代码来创建一个我可以保存的临时blob文件:
var blob = new Blob([""], {type: 'text/csv'});
if(window.navigator.msSaveOrOpenBlob)
{
window.navigator.msSaveBlob(blob, filename);
}
else
{
var elem = window.document.createElement('a');
elem.href = window.URL.createObjectURL(blob);
elem.download = "test.txt";
document.body.appendChild(elem)
elem.click();
document.body.removeChild(elem);
}
在提琴手中这是有效的,但是selenium ide不是真正的" window so window.URL.createObjectURL创建一个类似于null / myBlobHash的URL。 有没有人试图从selenium ide写一个.csv文件或其他文件?
谢谢,Christoph
答案 0 :(得分:0)
Idk也许它不会帮到你。但我面临着一个非常相似的事情。但我不打算创建Selenium IDE插件。我只是使用runScript Selenium命令:
<强>的runScript 强>
var textFile = null,
makeTextFile = function (text) {var data = new Blob([text], {type:'text/plain'});
if (textFile !== null) {
window.URL.revokeObjectURL(textFile);
}
textFile = window.URL.createObjectURL(data);
return textFile;
};
result=makeTextFile('lol');
var elem = window.document.createElement('a');
elem.href = window.result;
elem.innerHTML = 'Test_text_link';
elem.download = "test.txt";
elem.setAttribute('id','test_download');
window.document.body.appendChild(elem);
之后我点击了标准的Selenium点击命令链接。它正在发挥作用。
所以这是我的建议:如果你想创建这样的插件,最好先看看runScript是如何工作的。或者也许只是使用它。
祝你好运