page.click() 我在 <a href> 标签中无法正常工作

page.click() i'ts not working properly in an <a href> tag

在网格 (table) 上工作,某些列的文本实际上是 link 使用 <a href="url"> 标记的内容的详细信息。

使用 await page.click(my_target); 非常适合我的主要 table,但在这种情况下,点击事件不会执行任何操作:

<table>
    <tbody>
        <tr><td>
            <a ng-show="true" href="/edit/001">Some text</a>
        </tr></td>
    </tbody>
</table>

看起来像这样:

puppeteer 上的点击事件可能会以意想不到的方式工作。

当文本堆叠成两行时出现问题,因此根据 puppeteer 的文档,点击有效:“此方法使用选择器获取元素,如果需要将其滚动到视图中,然后使用 page.mouse 在元素中心单击 。如果没有元素匹配选择器,该方法将抛出错误。"

每种情况下的行为都是这样的:

如果您能看到我们的点击将指向中心,而对于第二张图片,它不会到达 text/link。因此,您可以在单击事件后使用元素选择器:

await page.$eval(my_target, element => element.click());