Я совершенно новичок в Javascript.Я пытаюсь сделать расширение 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()
, но это тоже не сработало.
Я был бы рад любой помощи!