如何检查在jquery页面上存在的许多元素?



在我们的网站-抓取项目,如果这些因素中的任何一个出现,我们预计会出现问题,我们是这样做的,但我认为应该有更好的方法

await page.waitForTimeout(() => document.querySelectorAll(`div.ui-dialog-content.ui-widget-content.ui-draggable,
#ngiForm > div.fieldcontainer.user-code.pt10 > div.error-wrapper > div,
#passwordFC > div.error-wrapper > div,
#otpPasswordLabel,
div.modal-header.error > h1,
.repush
`).length);

如果其中任何一个元素出现,length变为1,我们如何改善这一点?

我们试图,进入一个登录页面,等待页面加载,如果任何给定的元素出现在页面上,这意味着,要么弹出窗口,要么有其他问题

您可以逐个选择,检查是否存在,而不是选择所有DOM项。

document.querySelectorAll('div.ui-dialog-content.ui-widget-content.ui-draggable').length
|| document.querySelectorAll('#ngiForm > div.fieldcontainer.user-code.pt10 > div.error-wrapper > div').length
|| document.querySelectorAll('#passwordFC > div.error-wrapper > div').length
|| document.querySelectorAll('#otpPasswordLabel').length
|| document.querySelectorAll('div.modal-header.error > h1').length
|| document.querySelectorAll('.repush').length

如果找到一项,则不搜索下一项。
您可以根据页面上出现的概率来订购document.querySelectorAll

最新更新