puppeteer - 尝试使用 puppeteer js 单击子超链接
问题描述
我有以下html:
<td id="content_PDB_Dashboard_UC_SharedLeads_gvSharedLeads_tccell0_6" class="dxgv dx-ellipsis" align="left" style="border-bottom-width:0px;" title="
1905 Saint Louis Avenue
" dxellipsistitle="true">
<a onclick="return ShowCallDialog(472919, 7);">1905 Saint Louis Avenue </a>
</td>
一个页面上有多个。我需要遍历并单击每个链接。'一个'。这是我的尝试:
const allProperties = await page.$$('.dxgv, .dx-ellipsis > a');
allProperties.map(el => {
el.click();
})
我收到的错误是:
Error: Node is either not visible or not an HTMLElement
知道我做错了什么吗?
解决方案
map
不会异步执行,将其替换为简单的for loop
orPromise.all
。如果使用没有限制
HTMLElement.click
,请改用它(问题)。
const anchors = await page.$$('.dxgv, .dx-ellipsis > a');
for (let anchor of anchors)
await page.evaluate(el => el.click(), anchor);
推荐阅读
- json - 以任意顺序对键进行排序并保留未知键
- c# - 集成测试 .NET Core 3 Worker
- powerbi - Power BI - 如何在 Power Query 中仅提取周日日期
- r - 删除特定列中具有特定值的重复行
- swiftui - 在 NavigationView 的 SwiftUI 列表中设置雪佛龙的颜色
- android - APK 在某些手机上以 ZIP 格式下载
- python - scipy.stats expect 函数的更有效替代方案
- arrays - JSONArrays in rows - OPENJSON 给出
- java - 如何在Java中的文件上附加对象?
- javascript - 将某些单词与组件包装在一个内容可编辑的 div 中