Расширение Firefox для заполнения и отправки формы - PullRequest
0 голосов
/ 18 февраля 2019

Я совершенно новичок в 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(), но это тоже не сработало.

Я был бы рад любой помощи!

...