使用剧作家导航后元素不可见

时间:2020-07-27 07:25:13

标签: javascript node.js automated-tests playwright

我正在使用编剧来实现浏览器自动化。

我单击一个超链接,它会带我到Google.com,在导航后,我想在那里确认“ Google搜索”按钮是否存在。 这是我的代码。

const textToClick = "Visit Google"
const textToVerify = "Google Search"
const elements = await page.$$(`text=${textToClick}`)
await element[0].click()
const elements = await page.$$(`text=${textToVerify}`)
const elementLength = elements.length
console.log("Element Length::",elementLength, ":: TexToFind::",textToVerify)

通过mocha测试运行它时,找不到“ Google搜索”按钮。

但是当我通过Visual Studio调试器在节点的主条目文件(main.js)下运行相同的代码时;我可以找到“ Google搜索”按钮。

这是Mocha测试运行中的剧作家调试器的输出:

pw:api => page.goto开始+ 0ms
pw:api导航到“ file:/// C:/devel/devspace/js/myAutomation/test/src/sampleApp.html”,等到“加载” [] + 3ms
pw:api导航到“ file:/// C:/devel/devspace/js/myAutomation/test/src/sampleApp.html” [] + 348ms
pw:api触发了“ domcontentloaded”事件[] + 7ms
pw:api“ load”事件被触发[] + 276ms
pw:api <= page.goto成功+ 6ms
pw:api => elementHandle.click开始+ 364ms
pw:api尝试elementHandle.click动作[] + 2ms
pw:api等待元素可见,启用且不移动[] + 2ms
pw:api元素可见,启用且不会移动[] + 479ms
pw:api视需要滚动到视图中[] + 1ms
pw:api完成滚动[] + 63ms
pw:api检查该元素在(358.64,558.1)[] + 66ms
处接收到指针事件 pw:api元素确实接收到指针事件[] + 188ms
pw:api执行elementHandle.click动作[] + 2ms
pw:api elementHandle.click操作完成[] + 83ms
pw:api等待排定的导航完成[] + 3ms
pw:api导航至“ https://www.google.com/” [] + 293ms
pw:api导航已完成[] + 46ms
pw:api <= elementHandle.click成功+ 2ms
睡觉
睡完了
元素长度:: 0 :: TexToFind :: Google搜索
1)在超链接上测试点击功能

您会注意到元素长度为零,表示未找到“ Google搜索”按钮

mocha测试有什么用,它使得元素不可搜索,或者在单击超链接后将元素带到新网页时验证元素时是否需要处理与超链接相关的一些基本事情?

1 个答案:

答案 0 :(得分:0)

单击第一个链接将导致导航。因此,您需要等待页面导航到Google。您可以执行以下操作:

for pc in np.array_split(df1, 2):
    for lnc in np.array_split(df2, 2):
         print(correlation(pd.concat([pc,lnc])))