Playwright - TypeError: hoverElement.hover is not a function

Playwright - TypeError: hoverElement.hover is not a function

我正在尝试 运行 这个

await hoverElement.hover();

以便鼠标悬停在相关元素上

我收到一个错误提示 TypeError: hoverElement.hover is not a function

我正在阅读剧作家 API 的文档 https://playwright.dev/#version=v1.5.2&path=docs%2Fapi.md&q=elementhandlehoveroptions

我做错了什么?

test('Selection using hover Speak', async () => {

if (EnableTests.run_hover_speak === "true") {

    const expectedResult = TestPage.Div2_Expected_Result;
    const hoverElement = TestPage.Div2_css;

    await test_functions._hoverSpeak(page);
    await hoverElement.hover();

    const highlightedText =  await test_functions._hiliteSelection(page);
    const actual = JSON.stringify(highlightedText); console.log("ACTUAL RESPONSE " + actual);
    const expected = JSON.stringify(expectedResult); console.log("EXPECTED RESPONSE " + expected);
    assert(expected === actual);

};

});

如果 hoverElement.hover 不是一个函数,那么它意味着 hoverElement(因此 TestPage.Div2_css)可能不是一个合适的 Playwright elementHandle 对象。我从你的代码中看不到你从哪里得到 TestPage,但可能 Div2_css 是对普通 DOM 节点或其 CSS 的引用,而不是比 elementHandle.

要解决此问题,您可能需要使用 page.$('.div2') (replace .div2 with a suitable selector 之类的方式分配 hoverElement 以定位您要悬停的元素)。