Как эмулировать нажатие кнопок на основе значения атрибута data-cyJavascript

Форум по Javascript
Ответить
Anonymous
 Как эмулировать нажатие кнопок на основе значения атрибута data-cy

Сообщение Anonymous »

У меня есть веб-приложение, которое я использую с процессом, который часто завершается сбоем, в результате чего кнопка отображается для «повторить попытку». Часто требуется несколько нажатий (с несколькими минутами ожидания между ними) кнопки повтора, прежде чем процесс завершится успешно.
Я пытаюсь создать AppleScript, который при выполнении будет циклически проходить по активной странице, и всякий раз, когда он найдет эту кнопку повтора, нажмите ее. Может быть много экземпляров кнопки повтора.
У кнопки нет идентификатора или класса, который отделял бы ее от других кнопок на странице, кроме атрибута data-cy: data-cy="retry-failed-creation-button" .
Вот HTML-код кнопки полностью: Я попробовал следующий AppleScript, но при запуске получаю ожидаемую ошибку конца строки в консоли JS в Safari. Ошибка возникает при первом дефисе в retry-failed-creation-button . Я пробовал экранировать дефисы, но безрезультатно.

Код: Выделить всё

on run

tell application "Safari"
activate
delay 1

do JavaScript "var buttons = document.querySelectorAll('[data-cy='retry-failed-creation-button']');

for (i = 0; i < buttons.length; i++) {
buttons[i].click();
}" in front document
end tell

end run
Что я делаю не так?
Обратите внимание: я не могу изменить HTML-код веб-приложения. Я не могу использовать JQuery.

Подробнее здесь: https://stackoverflow.com/questions/799 ... -attribute
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»