Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/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
Javascript 带木偶演员的NodeJS手柄弹出_Javascript_Node.js_Web Scraping_Popup_Puppeteer - Fatal编程技术网

Javascript 带木偶演员的NodeJS手柄弹出

Javascript 带木偶演员的NodeJS手柄弹出,javascript,node.js,web-scraping,popup,puppeteer,Javascript,Node.js,Web Scraping,Popup,Puppeteer,出于培训目的,我在亚马逊的一个特定页面上点击一个按钮,打开一个内部“弹出窗口”。 因此,木偶演员看不到弹出窗口,我无法单击和处理元素 让我们从一开始 使用木偶演员,我在跑步: await page.evaluate(() =>{ document.querySelector('.nav-a.nav-a-2.a-popover-trigger.a-declarative').click(); } }); 它会打开内部弹出窗口 如何处理这个新的内部

出于培训目的,我在亚马逊的一个特定页面上点击一个按钮,打开一个内部“弹出窗口”。 因此,木偶演员看不到弹出窗口,我无法单击和处理元素

让我们从一开始

使用木偶演员,我在跑步:

await page.evaluate(() =>{
        document.querySelector('.nav-a.nav-a-2.a-popover-trigger.a-declarative').click();
        }
      });
它会打开内部弹出窗口


如何处理这个新的内部页面:在输入框中键入文本,然后单击元素?

实际上,它不是弹出窗口,而是弹出窗口。在您实际单击选择器后,它将在DOM中可见并可访问

await page.evaluate(() =>{
   document.querySelector('.nav-a.nav-a-2.a-popover-trigger.a-declarative').click();
});
要确定您是否可以使用popover,您需要等待加载

await page.waitForSelector(".a-popover.a-popover-modal.a-declarative");

之后,您可以单击并在弹出窗口中键入所需的文本。

实际上,它不是弹出窗口,而是弹出窗口。在您实际单击选择器后,它将在DOM中可见并可访问

await page.evaluate(() =>{
   document.querySelector('.nav-a.nav-a-2.a-popover-trigger.a-declarative').click();
});
要确定您是否可以使用popover,您需要等待加载

await page.waitForSelector(".a-popover.a-popover-modal.a-declarative");

之后,您可以单击并在弹出框中键入所需的文本。

缺少的部分是waitForSelector;-)。多谢了,缺少的部分是waitForSelector;-)。谢谢