代码之家  ›  专栏  ›  技术社区  ›  Raul Rueda

页单击()i'ts在标记中工作不正常

  •  1
  • Raul Rueda  · 技术社区  · 7 年前

    在网格(表)上工作时,某些列的文本实际上是使用 <a href="url"> 标签

    使用 await page.click(my_target); 在我的主表中工作得很好,但在本例中,click事件没有任何作用:

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

    如下所示:

    enter image description here

    1 回复  |  直到 7 年前
        1
  •  2
  •   Raul Rueda    7 年前

    Puppeter上的click事件可能以意外的方式工作。

    当文本堆叠成两行时,问题就出现了,因此根据《木偶师》的文档,点击可以工作: 此方法使用选择器获取元素,如果需要,将其滚动到视图中,然后使用页面。老鼠 单击图元中心的步骤 . 如果没有元素匹配选择器,该方法将抛出错误。 "

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

    one line grid click two lines grid click

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

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