Код не выполняется нормально, но работает в отладчике - PullRequest
0 голосов
/ 29 мая 2019

Часть моей работы - проверять некоторые записи, которые кто-то другой загружает на официальный сайт / webtool.В большинстве случаев я уже проверял квитанции лично, поэтому другая проверка на веб-инструменте на самом деле не нужна.Мне все еще нужно пройти через множество ревизий вручную, чтобы оставить комментарий в определенном месте и изменить раскрывающееся поле.

Я хочу автоматизировать этот процесс и пытаюсь собрать аддон Firefoxэто сделало бы это для меня, так что я также могу поделиться им с некоторыми из моих коллег.

У меня практически нет опыта с чем-то вроде этого, но мне удалось собрать что-то, что работает в режиме отладки, когда я нажимаю на него шаг за шагом, но он не работает при нормальном выполнении.

При нормальном выполнении код направляется прямо к последнему элементу условия for и не может открыть квитанцию ​​изwebtool.

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 is null», "Удален небезопасный атрибут. Элемент: svg. Атрибут: xmlns." И "Ошибка: document.getElementById (...) имеет значение null".

Как я уже сказал: он работает в режиме отладки, контролируя меняего исполнение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...