小编Nic*_*ngs的帖子

人偶找不到选择器

我正在尝试使用Puppeteer进行一些Web抓取,但是脚本似乎无法找到我要寻找的选择器。基本上这段代码:

const puppeteer = require('puppeteer');

let scrape = async () => {
const year = 18;

const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
await page.goto('https://cobbcounty.org/index.php?option=com_wrapper&view=wrapper&Itemid=2008');
await page.waitFor(5000);
var id = '';
for(i=0;i<10000;i++){
    id = i;
    await page.click('#txtCase');
    await page.keyboard.type(year + '-P-' + id);
    await page.select('#lstDoc','Estate');
}
}

scrape().then((value) => {
console.log('script ended');
});
Run Code Online (Sandbox Code Playgroud)

给我这个错误:

(node:31125) UnhandledPromiseRejectionWarning: AssertionError 
[ERR_ASSERTION]: No node found for selector: #txtCase
Run Code Online (Sandbox Code Playgroud)

据我所知,#txtCase是页面上的实际选择器,所以我不知道为什么木偶找不到它。如果有人可以向我解释我在做什么错,那将非常有帮助。

chromium node.js puppeteer

7
推荐指数
1
解决办法
7323
查看次数

如何使用 Puppeteer 下载 pdf

我正在尝试使用 Puppeteer 进行一些网页抓取,但我不确定如何实际下载我找到的文档。具体来说,我想从这样的页面下载pdf 。我的代码中尝试下载 pdf 的部分当前如下所示(注释行是下载尝试不起作用):

const newPagePromise = new Promise(x =>
  browser.once("targetcreated", target => x(target.page()))
);
await page.click(
  "#gvDocketResult_ctl0" + rows.length + "_hlDocumentRedacted"
);
await page.waitFor(3000);
const newPage = await newPagePromise;
// need to figure out how to download
await newPage._client.send("Page.setDownloadBehavior", {
  behavior: "allow",
  downloadPath: "/Users/me/Desktop",
});
// await newPage.pdf({path: 'hn.pdf', format: 'letter'});
// await newPage.click('#download');
// await newPage.click('#icon');
Run Code Online (Sandbox Code Playgroud)

从我到目前为止发现的情况来看,如果我可以获得src = ''网页部分中显示的链接(下图),那么我也许可以使用 page.goto(link) 来下载 pdf?无论如何,我不知道如何在 puppeteer 中访问该链接,因此如果有人对此有建议,我也将不胜感激。在此输入图像描述

chromium node.js puppeteer

6
推荐指数
1
解决办法
2051
查看次数

标签 统计

chromium ×2

node.js ×2

puppeteer ×2