javascript - 在jquery中查找某个按钮的点击ID
问题描述
对于我的工作,我必须在我公司的门户网站上声明符合某些标准的“潜在客户”。门户的片段如下所示。
我喜欢编写一个代码,一旦它可用就自动声明满足这些要求的潜在客户(例如,假设潜在客户在这种情况下是*Too Lazy To Ask )。
现在,我已经使用 jQuery 库(通过 Tampermonkey 扩展程序运行)编写了一个代码,它以一定的时间间隔刷新门户,并在页面上发现文本*Too Lazy To Ask时立即发送通知,但我必须去点击我自己在索赔按钮上。但现在我喜欢让它变得更好,让它自动为我点击“索赔”按钮。
考虑到我是这个词的完整初学者,我希望能得到一些关于如何解决这个问题的指导。
我还在下面复制了公司门户的一部分源代码:
<div class="standard">
<div>
<h2 id="ctl00_ctl00_main_main_viewingHeader">Lead Bucket</h2>
</div>
<span id="ctl00_ctl00_main_main_pager1">
<table cellpadding="5px" class="pagerTable">
<tr class="pager">
<td class="previous"></td>
<td class="next"></td>
<td class="count">
<span>1-1 of 1</span>
</td>
</tr>
</table>
</span>
<span id="ctl00_ctl00_main_main_lblMessage" style="color:Black;font-weight:normal;font-style:italic;">Page refreshes every 2 mins.</span>
<table class="grid borderTop" cellpadding="0px" cellspacing="1px">
<tr class="listItem1">
<div>
<table class="listItem1" cellpadding="0px" cellspacing="0px">
<tr>
<td>
<a href="ViewLead.aspx?isLead=true&AutoLeadID=981039530" alt="View Lead">Dealer Test Test2</a>
</td>
<td><label>2/4/21</label></td>
<td class="green">0 Hrs Old</td>
</tr>
<tr>
<td colspan="2"></td>
<td>*Too Lazy To Ask </td>
</tr>
<tr>
<td>
<input type="submit" name="ctl00$ctl00$main$main$rpt$ctl01$btnClaim" value="Claim" id="ctl00_ctl00_main_main_rpt_ctl01_btnClaim" />
</td>
<td colspan="2">Iddm Leads</td>
</tr>
</table>
</div>
</tr>
</table>
<span id="ctl00_ctl00_main_main_pager2">
<table cellpadding="5px" class="pagerTable">
<tr class="pager">
<td class="previous"></td>
<td class="next"></td>
<td class="count">
<span>1-1 of 1</span>
</td>
</tr>
</table>
</span>
<span id="ctl00_ctl00_main_main_Timer1" style="visibility:hidden;display:none;"></span>
</div>
<div style="text-align: right;">
<a href="../../LogOut.aspx" id="ctl00_ctl00_aLogOut">Log Out</a>
</div>
<script type="text/javascript">
//<![CDATA[
Sys.Application.add_init(function() {
$create(Sys.UI._Timer, {"enabled":true,"interval":120000,"uniqueID":"ctl00$ctl00$main$main$Timer1"}, null, null, $get("ctl00_ctl00_main_main_Timer1"));
});
//]]>
</script>
解决方案
如果您有代码可以找到所需的文本(放置在表格中),您可以使用 jQuery 来:
查找最近的父表元素(其中也将包含您的按钮)
var $table = jQuery(foundNode).closest('table')
在表格中找到所需的提交按钮
var $input = $table.find("input[value='Claim']")
或者:输入[name='...']; 输入[id='...']
然后模拟“点击”动作(3 种方法):
$input.click(); $input.trigger("点击"); $input[0].click();
推荐阅读
- java - 用户创建新实例
- php - 为什么类父函数不应该有一个全局 $$Obj 语句
- r - 用于识别 R 中状态变化的 lag() 显示出意想不到的结果
- javascript - 如何在 MERN 堆栈中向用户显示错误
- typescript - 如何在打字稿语言Vuejs中使用watch功能?
- cakephp - 为什么我使用 cakephp 4 时找不到表?
- django - 如何使用 Django ORM 将注释字符串转换为布尔值
- architecture - 我是否也应该记录当前的上下文和范围
- export - 定期将数据从 SAP 导出到其他软件的首选方式是什么?
- javascript - 向从 api 响应获得的字符串添加其他字符