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