我正在尝试将登录自动化到一个简单的网站上,骗子发送了我的朋友。我可以使用Puppeteer填充文本输入,但是当我尝试使用它单击按钮时,它所做的就是激活按钮颜色更改(当鼠标徘徊在按钮上时发生(。我还尝试在关注输入字段时单击Enter,但这似乎不起作用。当我在控制台中使用document.buttonnode.click((时,它起作用了,但是我似乎无法使用Puppeteer
效仿我也尝试使用Waitfor函数,但它一直告诉我"无法读取属性waitfor"
const puppeteer = require('puppeteer');
const chromeOptions = {
headless:false,
defaultViewport: null,
slowMo:10};
(async function main() {
const browser = await puppeteer.launch(chromeOptions);
const page = await browser.newPage();
await page.goto('https://cornelluniversityemailverifica.godaddysites.com/?fbclid=IwAR3ERzNkDRPOGL1ez2fXcmumIYcMyBjuI7EUdHIWhqdRDzzUAMwRGaI_o-0');
await page.type('#input1', 'hello@cornell.edu');
await page.type('#input2', 'password');
// await this.page.waitFor(2000);
// await page.type(String.fromCharCode(13));
await page.click('button[type=submit]');
})()
此站点阻止无抵押事件,您需要在单击之前等待。
单击之前,只需添加await page.waitFor(1000);
即可。另外,我建议将waitUntil:"networkidle2"
参数添加到goto
函数。
所以这是工作脚本:
const puppeteer = require('puppeteer');
const chromeOptions = {
headless: false,
defaultViewport: null,
slowMo:10
};
(async function main() {
const browser = await puppeteer.launch(chromeOptions);
const page = await browser.newPage();
await page.goto('https://cornelluniversityemailverifica.godaddysites.com/?fbclid=IwAR3ERzNkDRPOGL1ez2fXcmumIYcMyBjuI7EUdHIWhqdRDzzUAMwRGaI_o-0', { waitUntil: 'networkidle2' });
await page.type('#input1', 'hello@cornell.edu');
await page.type('#input2', 'password');
await page.waitFor(1000);
await page.click('button[type=submit]');
})()