如何从 ElementHandle 转到 DOM 元素

How to go from ElementHandle to DOM element

我正在使用 node --inspect-brk 调试我的人偶测试。我试图弄清楚为什么以下内容不起作用:

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

在测试 Chrome window 控制台中,$x(xpath) returns 正确的 DOM 元素。但是 hover() 不起作用,所以我想知道 DOM 元素 relationshipHeader 是哪个。

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

_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 元素。