Использование waitForKeyElements для нажатия двух кнопок, одна за другой, после правильной загрузки страницы
В настоящее время я пытаюсь найти способ автоматического нажатия кнопок на странице того, что я считаю сайтом, управляемым AJAX. Я выполняю это через Tampermonkey (Javascript Userscript).
Прямо сейчас следующий скрипт работает в консоли и нажимает целевую кнопку на странице с помощью элементов HTML/CSS:
document.querySelector('li[data-v-29761082].list-item').click();
Затем я использую следующий скрипт (который также работает в консоли на странице), чтобы нажать следующую кнопку (которая появляется после нажатия первой):
document.querySelector('button.el-button.button.el-button--primary.el-button--xl').click();
Итак, обе эти строки кода работают в консоли, но мне нужно объединить их в единый скрипт, который автоматически запускается на странице через Tampermonkey. К сожалению, при использовании в Tampermonkey ничего не происходит, и кнопки не нажимаются. Я думаю, что это потому, что это сайт на основе AJAX.
Я считаю, что функция waitForKeyElements будет полезна для выполнения кода после правильной загрузки страницы.
Я хотел бы, чтобы обе эти отдельные строки кода использовались в тандеме (одна за другой), но обе должны ждать и требовать, чтобы их элементы загружались и сначала находились на странице, прежде чем выполнять и переходить к следующему выбору (второй строка кода).
Ранее я использовал функцию waitForKeyElements, но у меня возникают проблемы с поиском правильной методологии и синтаксиса для этого конкретного сценария:
const findAndClickParent = text => [...document.querySelectorAll('label > span')].forEach(e => e.textContent === "Yes" ? e.parentElement.click(): null);
waitForKeyElements (
"label",
() => {
findAndClickParent("Yes");
}
);
Поэтому мне нужно найти похожий метод waitForKeyElements, чтобы правильно выполнить две вышеупомянутые строки кода в Tampermonkey и на странице. Сейчас у меня небольшие проблемы с правильным синтаксисом и с возможностью правильно выполнять код один за другим. Любой совет будет высоко ценится.