Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.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 如何让木偶演员进入我在好市多网上的账户?_Javascript_Node.js_Authentication_Web Scraping_Puppeteer - Fatal编程技术网

Javascript 如何让木偶演员进入我在好市多网上的账户?

Javascript 如何让木偶演员进入我在好市多网上的账户?,javascript,node.js,authentication,web-scraping,puppeteer,Javascript,Node.js,Authentication,Web Scraping,Puppeteer,这是我到目前为止的资料,但我不明白为什么好市多一直坐在那里无限期加载。单击“转到我的帐户”实际上从未加载下一页。关于如何让Pupeter浏览costcobusinessdelivery.com有什么想法吗 const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({headless: false}) const page = await browser.

这是我到目前为止的资料,但我不明白为什么好市多一直坐在那里无限期加载。单击“转到我的帐户”实际上从未加载下一页。关于如何让Pupeter浏览costcobusinessdelivery.com有什么想法吗

const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch({headless: false})
  const page = await browser.newPage();
  await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36')
  await page.goto('https://www.costcobusinessdelivery.com');

  await page.click("#myaccount-t");
在这种情况下,您可以尝试以下几种方法:

  • waitForSelector听起来像您需要的:

    等待页面。waitForSelector(#myaccount-t”); 等待页面。单击(“myaccount-t”)

  • 只需等待其中一个API返回,然后您的按钮就可以使用/点击:

    等待页面。等待响应(“”); 等待页面。单击(“myaccount-t”)

  • 如果没有,您也可以确保它存在,然后单击它:

    常量按钮列表=(等待页面。$$(“#myaccount-t”)。长度!==0; if(buttonExist){wait page.单击(“#myaccount-t”)}

  • 如果存在,exist将等于true,如果不存在,exist将等于false


    可能在您尝试单击该元素时,该元素尚未加载。您尝试过吗?该页面永远处于加载状态。但该元素始终可以单击。