querySelectorAll 通过页面按钮的文本内容来选择相应标签

更新日期: 2021-01-27 阅读次数: 3803 字数: 160 分类: Javascript

由于 58 同城的开放平台申请接口权限一直处于审核中,而想要用的一个接口没有使用文档,也无法联系到人类客服询问,只能采取浏览器插件的方式做数据导出。

58同城管理后台为了防爬虫,做了诸多的防爬策略,其中一种就是没有明确的 class 和 id。

例如,管理后台的全选按钮:

<span class="t-g-checkbox-font">全选</span>

class 选择的话符合条件的很多。只能通过 inner text 来匹配。

解决方法

Array.from(document.querySelectorAll('span.t-g-checkbox-font'))
    .find(el => el.textContent === '全选')
    .click();

Array.from

Array.from 将 NodeList 转换成为 Array.

Array.find

Array.find 返回第一个符合条件的 item.

参考

  • https://stackoverflow.com/questions/37098405/javascript-queryselector-find-div-by-innertext
  • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find

tags: 58同城开放平台

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式