亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用劇作家導航后元素不可見

使用劇作家導航后元素不可見

墨色風雨 2022-12-08 15:43:55
我正在使用 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.lengthconsole.log("Element Length::",elementLength, ":: TexToFind::",textToVerify)當我使用 mocha 測試運行它時,找不到“Google 搜索”按鈕。但是當我通過 visual studio 調試器在節點的主入口文件(main.js)下運行相同的代碼時;我能夠找到“Google 搜索”按鈕。這是 playwright 調試器從 mocha 測試運行中得到的輸出:pw:api => page.goto 開始 +0mspw:api 導航到“file:///C:/devel/devspace/js/myAutomation/test/src/sampleApp.html”,等待“加載”[] + 3mspw:api 導航到“file:///C:/devel/devspace/js/myAutomation/test/src/sampleApp.html”[] +348mspw:api “domcontentloaded”事件觸發 [] +7mspw:api “加載”事件觸發 [] +276mspw:api <= page.goto 成功 +6mspw:api => elementHandle.click 開始 +364mspw:api 嘗試 elementHandle.click 操作 [] +2mspw:api 等待元素可見、啟用且不移動 [] +2mspw:api 元素可見、啟用且不移動 [] +479mspw:api 在需要時滾動到視圖中 [] +1mspw:api 完成滾動 [] +63mspw:api 檢查元素在 (358.64,558.1) [] +66mspw:api 元素確實接收指針事件 [] +188mspw:api 執行 elementHandle.click 操作 [] +2mspw:api elementHandle.click 操作完成 [] +83mspw:api 等待預定導航完成 [] +3mspw:api 導航到“https://www.google.com/” [] +293mspw:api 導航已完成 [] +46mspw :api <= elementHandle.click succeeded +2mssleepingsleeping finishedelement Length:: 0 :: TexToFind:: Google Search1) 測試超鏈接上的點擊功能您會注意到元素長度為零,表示未找到“Google 搜索”按鈕mocha 測試是什么使元素不可搜索,或者在超鏈接單擊將您帶到新網頁后驗證元素時是否需要處理與超鏈接相關的基本問題?
查看完整描述

1 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

單擊第一個鏈接將導致導航。所以你需要等待頁面導航到谷歌。你可以這樣做:

await Promise.all([elements[0].click(), page.waitForNavigation()]);


查看完整回答
反對 回復 2022-12-08
  • 1 回答
  • 0 關注
  • 84 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號