Button 使用内部文本单击按钮
我正在使用Puppeter来单击一个没有通用id的按钮。我附上了一个DOM的屏幕截图,其中有一个箭头显示了button元素。我尝试了以下代码,但无效:Button 使用内部文本单击按钮,button,click,puppeteer,Button,Click,Puppeteer,我正在使用Puppeter来单击一个没有通用id的按钮。我附上了一个DOM的屏幕截图,其中有一个箭头显示了button元素。我尝试了以下代码,但无效: await page.evaluate(() => { let btns1 = [...document.querySelector("typeaheadDropdownWrapped-0").querySelectorAll("button")]; btns1.forEach(function (btn) { if
await page.evaluate(() => {
let btns1 = [...document.querySelector("typeaheadDropdownWrapped-0").querySelectorAll("button")];
btns1.forEach(function (btn) {
if (btn.innerText == "@jubaitca")
btn.click();
});
});
@jubaitca是一个已知的文本,可用于识别按钮。有人能帮忙吗
我在HTML DOM屏幕截图中没有看到任何
@jubaitca
。但是如果它在这个选择器中,那么这个代码可能会工作。
您的选择器应如下所示:
await page.evaluate(() => {
document.querySelectorAll('[role="progressbar"] ~ div > [role="button"]').forEach(elem => {
if (elem.innerText.search('jubaitca') > -1) {
elem.click()
}
})
})
这回答了你的问题吗?不,这不是因为文本不是按钮的内部文本,而是按钮元素下面的几层。您的代码缺少查询选择器中的
#
。请选择上一个问题中的“我的答案”作为正确答案。谢谢你,这行不通。请参考我所附的DOM。我试图单击按钮节点,该节点有一个子节点,其内部文本为“@jubaitca”@jubaitca位于域的最后一行。如果代码不起作用,我会得到以下错误:(节点:25908)未处理PromisejectionWarning:ReferenceError:typeaheadFocus未在c:\Users\sayan\Documents\pup test\index.js:62:7的ProcessTicks和Rejections(internal/process/task\u queues.js:85:5)中定义。
请编写更详细的代码,因为我在上面的代码中没有看到任何typeaheadFocus。抱歉,请忽略该错误。我没有收到任何错误,但是按钮没有被点击。很抱歉,如果您没有提供更多的代码或任何URL,我无法在详细的透视图/上下文中看到错误,也无法为您找到任何解决方案。