Использование GreaseKit: если в ячейке таблицы присутствует строка, нажмите конкретную кнопку, ЕСЛИ она появится в той же самой ячейке

Я использую GreaseKit (так что JavaScript)

Шаг № 1 Найдите строку & Шаг № 2 Нажмите кнопку

Когда эта HTML-страница загружается, если одно из следующего:

  • Only 3 Left или же
  • Only 2 Left или же
  • Only 1 Left

появляется в ячейке таблицы И кнопка с class="PrmryBtnMed" присутствует в той же самой ячейке, затем нажмите кнопку, используя el.click();

Можем ли мы просто заглянуть внутрь <tr> теги?

Если нет, альтернативный подход может состоять в том, чтобы просто щелкнуть первую кнопку, которая появляется непосредственно под или после желаемой строки.

обновление: благодаря @Bergi, кажется, мы можем просто использовать: var LookInCells = document.getElementsByTagName('tr');

Об этой кнопке: какой атрибут искать?

бит HTML выглядит так: <a href="/gp/wine/taste-next-123/" class="PrmryBtnMed" id = "product-B00123456"><span>Send me this item</span></a>

Итак, думая об атрибутах кнопки

Они всегда будут одинаковыми:

  • class="PrmryBtnMed"
  • <span>Send me this item</span></a>

Они всегда будут отличаться, поэтому могут игнорировать:

  • где ссылка указывает на (например, a href="/gp/wine/taste-next/")
  • идентификатор всегда будет 'id = "product-B00123456"'

1 ответ

Я попробую это, основываясь на добром руководстве @Bergi!

var LookInCells = document.getElementsByTagName('tr');
var MyString =  ['Only 3 Left', 'Only 2 Left', 'Only 1 Left']
for(var i = 0;i < LookInCells.length;i++){
}

var inPage = document.documentElement.innerHTML.indexOf(MyString) > 0,
// el = document.querySelector(".PrmryBtnMed");
el = document.getQuerySelectorAll("td:last-child a.PrmryBtnMed")    
if (inPage && el) el.click();
Другие вопросы по тегам