page.click()我在<a href=""> tag

时间:2018-02-21 02:49:26

标签: node.js puppeteer

Working on a grid (table) that some columns have a text that is actually a link to the detail of something using a <a href="url"> tag.

Using await page.click(my_target); was working perfectly for my main tables but in this case, the click event doesn't do anything:

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

Looks like this:

enter image description here

中无法正常工作

1 个答案:

答案 0 :(得分:0)

木偶戏上的点击事件可能会以意想不到的方式发挥作用。

当文本堆叠成两行时出现问题,因此对于puppeteer的文档,单击工作:&#34; 此方法使用选择器获取元素,如果需要将其滚动到视图中,然后使用page.mouse 点击元素的中心。如果没有元素匹配选择器,则该方法会抛出错误。&#34;

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

one line grid click two lines grid click

如果您看到我们的点击将指向中心,而第二张图片则无法到达文字/链接。因此,您可以在单击事件后使用元素选择器:

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