首页 > 解决方案 > 在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>

标签: javascriptjquery

解决方案


如果您有代码可以找到所需的文本(放置在表格中),您可以使用 jQuery 来:

  • 查找最近的父表元素(其中也将包含您的按钮)

    var $table = jQuery(foundNode).closest('table')

  • 在表格中找到所需的提交按钮

    var $input = $table.find("input[value='Claim']")

    或者:输入[name='...']; 输入[id='...']

  • 然后模拟“点击”动作(3 种方法):

    $input.click(); $input.trigger("点击"); $input[0].click();


推荐阅读