Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Button 使用内部文本单击按钮_Button_Click_Puppeteer - Fatal编程技术网

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

我正在使用Puppeter来单击一个没有通用id的按钮。我附上了一个DOM的屏幕截图,其中有一个箭头显示了button元素。我尝试了以下代码,但无效:

    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,我无法在详细的透视图/上下文中看到错误,也无法为您找到任何解决方案。