【发布时间】:2020-02-10 07:46:33
【问题描述】:
我正在尝试在 puppeteer 上运行我的第一个代码。
Puppeteer v1.20.0
节点v8.11.3
Npm v5.6.0
这是一个基本示例,但它不起作用:
const puppeteer = require('puppeteer');
puppeteer.launch({headless: false}).then(async browser => {
const page = await browser.newPage();
await page.goto('https://www.linkedin.com/learning/login', { waitUntil: 'networkidle0' });
console.log(0);
await page.waitFor('#username');
console.log(1);
await browser.close();
});
当我运行脚本时,chromium 启动,我可以看到带有表单和 #username 表单字段的 Linkedin 登录页面,但 puppeteer 没有找到该字段。它显示0,但从不显示1,然后运行TimeoutError: waiting for selector "#username" failed: timeout 30000ms exceeded。
增加超时不会改变任何事情,如果我在 chromium 中检查控制台,该字段就在那里。
Linkedin 登录页面用作 SPA,我不知道我在这里使用的方式是否正确。
提前谢谢你。
【问题讨论】:
-
I'm also getting
null。正确的选择器似乎是'.sign-in-form__inputs input[name=session_key]'
标签: javascript node.js web-scraping web-crawler puppeteer