我的工作之一是检查其他人上载到官方网站/网络工具的收据。大多数时候,我已经亲自检查过收据,因此实际上不需要对Webtool进行另一次检查。为了在特定位置发表评论并更改下拉字段,我仍然必须手工经过收据的绕。
我想使该过程自动化,并试图将一个可以为我完成此任务的firefox插件组合在一起,以便我也可以与一些同事共享它。
我基本上对这样的东西没有经验,但是当我一步一步地单击它时,我已经设法将一些可以在调试模式下工作的东西放在一起,但是在正常执行时它是行不通的。
正常执行时,代码会转到for条件的最后一个元素,并且无法打开来自Webtool的接收器。
该网络工具相当复杂,我无法编辑其代码。问题似乎在于代码的执行速度,因此我尝试使用一些.setTimeout命令来降低它的速度。
由于缺乏经验,我可能还会犯一些更基本的错误。
{
function belegebearbeiten(){
for(i = 0; i < 5; i++) {
zeit = 20000 * i;
path = "belege:bTabs-199172769:sv-VoucherTabelleAusgaben199172769:j_idt1115:" + i + ":j_idt1117";
command1 = "document.getElementsByName(";
command2 = ")[0].click()";
belegnummer = command1 + "'" + path + "'" + command2;
window.setTimeout (function() {
browser.tabs.executeScript({
code: belegnummer
});
}, 0 + zeit);
window.setTimeout (function() {
browser.tabs.executeScript({
file: "/content_scripts/fahrtkosten.js"
});
}, 10000 + zeit);
window.setTimeout (function() {
browser.tabs.executeScript({
code: "document.getElementById(\"pageCreator:btnClos\").click();"
});
}, 20000 + zeit);
}
i = 0;
}
browser.browserAction.onClicked.addListener(belegebearbeiten);
}
我希望代码通过单击接收方编号来打开接收方,等待网站完成加载并执行fahrtkosten.js中的脚本,从而在新页面上留下评论,并选择正确的下拉选项并保存输入。然后,我希望它关闭收据,保存后会重新加载,并在下一个收据重复这些步骤。
我实际上得到的是收据未加载错误 “ TypeError:this._tabPool为空”, “已删除不安全属性。元素:svg。属性:xmlns。”, 和“错误:document.getElementById(...)为空”。
正如我所说:它在调试模式下可以由我控制其执行。