如何从ElementHandle转到DOM元素

时间:2019-04-24 17:58:47

标签: puppeteer

我正在使用node --inspect-brk来调试人偶测试。我正在尝试找出以下原因为何不起作用:

    let relationshipHeader = await page.waitForXPath(xpath);
    await relationshipHeader.hover();

在测试的Chrome窗口控制台中,$x(xpath)返回正确的DOM元素。但是hover()无法正常工作,所以我想知道relationshipHeader是哪个DOM元素。

ElementHandle字段之一可以告诉我哪个DOM元素RelationshipHeader用于吗?

1 个答案:

答案 0 :(得分:0)

_remoteObject.description似乎是答案。例如,使用以下代码:

    await page.goto("https://google.com");
    let input = await page.waitForSelector("input.gLFyf");

input._remoteObject.description为input.gLFyf.gsfi。在测试页的Chrome开发人员工具控制台中,$("input.gLFyf.gsfi")产生DOM元素。