由于 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
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式