剧作家-TypeError:hoverElement.hover不是一个函数

时间:2020-11-02 17:50:15

标签: javascript testing automation playwright

我正在尝试运行此

await hoverElement.hover();

以便鼠标将鼠标悬停在有问题的元素上

我收到一条错误消息,提示TypeError:hoverElement.hover不是函数

我正在阅读剧本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);

};

});

1 个答案:

答案 0 :(得分:0)

如果hoverElement.hover不是函数,则表明hoverElement(因此TestPage.Div2_css)可能不是适当的Playwright elementHandle对象。从您的代码中看不到您从哪里获得TestPage的信息,但可能是Div2_css是对纯DOM节点或其CSS的引用,而不是elementHandle

要解决此问题,您可能需要使用类似page.$('.div2')的方式分配hoverElement(用合适的selector代替.div2以定位要悬停的元素)