javascript - 使用 GreaseKit : if a string is present in a table cell,,然后单击特定按钮(如果它出现在同一个单元格中)

标签 javascript if-statement html-table var greasekit

我正在使用 GreaseKit(即 JavaScript)

第 1 步查找字符串并第 2 步单击按钮

this HTML page 加载时,如果出现以下任一情况:

  • Only 3 Left
  • Only 2 Left
  • Only 1 Left

出现在 a table cell 中,并且同一单元格中存在带有 class="PrmryBtnMed" 的按钮,然后使用 el.click(); 单击该按钮

我们可以只查看 <tr> 标签内部吗?

如果没有,另一种方法可能是单击紧邻下方或所需字符串之后出现的第一个按钮。

更新:感谢@Bergi,看来我们可以使用: ojit_代码

关于该按钮:要查找哪个属性?

html 的部分看起来像:var LookInCells = document.getElementsByTagName('tr');

所以,考虑一下按钮的属性

这些将始终相同:

  • <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> )
  • ID 始终为 'id = "product-B00123456"'

最佳答案

在 @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();

关于javascript - 使用 GreaseKit : if a string is present in a table cell,,然后单击特定按钮(如果它出现在同一个单元格中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205848/

相关文章:

javascript - 如何将回调传递给全局 onerror 方法?

javascript - If 语句 - 电子邮件验证/检查

javascript - 如何缩短我的条件语句

java - 用java进行游戏模拟有问题

python - 用 python 抓取表格

css - 底部的导航栏隐藏了表格——如何在 bootstrap 3/custom css 中修复?

javascript - 单个模板变量多次调用 meteor 助手

javascript - localeCompare 与 ASCII 风格的字典序排序

javascript - 使 &lt;textarea&gt; 填充表格单元格的高度

javascript - 无法在 head 开头插入元标记