【发布时间】:2019-04-05 05:59:03
【问题描述】:
我在node 和puppeteer 中创建了一个脚本,以获取在填写网页输入时填充的名称。以下是获取该名称的方法 - 打开该网页后,将 16803 放在 CP Number 旁边,然后点击 search 按钮。
我的以下脚本可以通过按搜索按钮成功填写输入并填充名称。我不能做的是获取结果的名称。我定义的选择器完美无缺。我想在不使用 return 的情况下即时获取名称。
到目前为止我已经尝试过:
const puppeteer = require("puppeteer");
const url = "https://www.icsi.in/student/Members/MemberSearch.aspx";
(async () => {
const browser = await puppeteer.launch({headless:false});
const [page] = await browser.pages();
await page.goto(url, {waitUntil: 'networkidle2'});
await page.type('input[name="dnn$ctr410$MemberSearch$txtCpNumber"]', '16803');
await page.click('a#dnn_ctr410_MemberSearch_btnSearch');
await page.waitFor('.name_head > span');
await page.evaluate(async () => {
const elem = document.querySelector('.name_head > span').innerText;
console.log(elem);
});
await page.close();
})();
上面的脚本给了我一个空白的输出。
如何从该站点获取名称?
【问题讨论】:
-
您可能希望返回 elem 并从节点(而不是浏览器)执行 console.log
标签: node.js web-scraping puppeteer