Node.js 由扩展生成的HTML在尝试解析时不显示

Node.js 由扩展生成的HTML在尝试解析时不显示,node.js,google-chrome-extension,puppeteer,cheerio,Node.js,Google Chrome Extension,Puppeteer,Cheerio,我正在从事一个项目,该项目将在蒸汽市场页面上记录某些武器外壳的浮动。对于一点背景,与每个列表关联的浮点值仅在使用CSGOFloat chrome扩展时显示。我正在使用木偶演员,并已设法让它打开正确的扩展页启用;但是,当我尝试使用ChereIO解析HTML以查找浮点值时,它没有显示出来。即使我只是将所有HTML打印到屏幕上,它也不会显示。当我检查Puppeter打开的浏览器时,与浮动相关的HTML就在那里。有人能解释为什么我找不到它吗?你应该更多地了解木偶演员。您不需要为元素使用Cheerio加载

我正在从事一个项目,该项目将在蒸汽市场页面上记录某些武器外壳的浮动。对于一点背景,与每个列表关联的浮点值仅在使用CSGOFloat chrome扩展时显示。我正在使用木偶演员,并已设法让它打开正确的扩展页启用;但是,当我尝试使用ChereIO解析HTML以查找浮点值时,它没有显示出来。即使我只是将所有HTML打印到屏幕上,它也不会显示。当我检查Puppeter打开的浏览器时,与浮动相关的HTML就在那里。有人能解释为什么我找不到它吗?

你应该更多地了解木偶演员。您不需要为元素使用Cheerio加载

await page.$eval('#breadcrumbs > ol > li:nth-child(2)', el => el.innerText);

await page.waitForSelector("[name='login[username]");
await page.type("[name='login[username]']", "userid);
await page.waitForSelector("[name='login[password]");
await page.type("[name='login[password]']", "password");

await page.keyboard.down('Control');
await page.keyboard.press('F5');
await page.keyboard.up('Control');

木偶演员确实支持我们所需要的一切。还提供一些代码,以便我可以尝试修复您的代码。你的描述太笼统了。

知道这一点真是太好了。谢谢但这并不能解决我的问题。当我试图解析CSGOFloat扩展生成的HTML时,它不会出现。你可以等待他们解析它。请试着用这个。等待page.waitForNavigation();或等待页面。等待(10000);等待10秒,直到页面完全加载。它工作了!现在我知道我需要等待一段时间才能加载,有没有办法减少这段时间?例如,等待某事发生,或者设置一个值是最好的方法。你能检查我的答案吗?waitForNavigation表示等待页面加载。我不知道你的html是否还有其他等待加载。很抱歉。waitForNavigation()会一直等到超时。唯一有效的方法是使用page.waitFor(10000)。(即使我将其设置为500毫秒也可以工作,这很好)