我对Java完全陌生。我正在尝试为自己制作一个Firefox扩展程序,以帮助我将税收数据填写到一个著名的税收准备网站中。我似乎无法正常工作。
我希望能够在特定页面上按下工具栏上的按钮,并使其填充数据,提交并重复执行csv文件的几行。
我的manifest.json看起来像这样:
{
"manifest_version": 2,
"name": "Tax data form filler",
"version": "1.0",
"description": "Fills forms on tax site",
"icons": {
"48": "icons/border-48.png"
},
"browser_action": {
"default_icon": "icons/ftd.png",
"default_title": "Fill form"
},
"content_scripts": [
{
"matches": ["*://*.com/*"],
"js": ["ftd.js"]
}
]
}
ftd.js看起来像这样:
document.getElementById("XFormatTextBoxDATEACQ_INPUT").value = "07/13/2018";
document.getElementById("XFormatTextBoxDATEACQ_INPUT").focus();
document.getElementById("XFormatTextBoxDATEACQ_INPUT").select();
document.getElementById("btnNext").click();
我要操作的页面相关部分如下:
<a id="btnNext" class="nextButton" title="Next" tabindex="0" href="javascript:PageActions.Next();" style="display: block;">Next<span class="rightArrow"></span></a>
<input class="formField fDate" id="XFormatTextBoxDATEACQ_INPUT" tabindex="0" name="_id103" maxlength="10" type="text" placeholder="MM/DD/YYYY" aria-describedby="MM/DD/YYYY" autocapitalize="none" autocorrect="off" data-original-title="" title="">
如您所见,我离目标还有一段距离。不过,我什至无法在文本框中输入扩展名。
在Firefox控制台上进行测试时,我可以填写该框,但是当我使用最终命令单击按钮提交时,该页面将清除该框并在上方和下方显示红色文本,表明该框必须填写,因此不会提交。似乎没有意识到盒子已经装满了。然后,我尝试将光标放置在文本框中,因此使用了focus()
和select()
,但这也不起作用。
我将很高兴为您提供帮助!