木偶拆分登录不起作用

时间:2020-06-10 00:48:41

标签: puppeteer

我尝试了多个示例来进行分割登录,但无法使其正常运行。 虽然,我对puppeteer还是很陌生,但登录后感觉到了一个了解puppeteer的简单用例。

const puppeteer = require('puppeteer')
const screenshot = 'login.png';
(async () => {
  const browser = await puppeteer.launch({headless: false})
  const page = await browser.newPage()
  await page.goto("https://www.splitwise.com/login", {
  	waitUntil: 'networkidle2'
  });
  await page.type('#user_session_email', 'atest')
  await page.type('#user_session_password', 'test')
  await page.click('[name="commit"]')
  await page.waitForNavigation()
  browser.close()
  console.log('See screenshot: ' + screenshot)
})()

2 个答案:

答案 0 :(得分:1)

不幸的是,页面有两种形式的ID相同(但类不同),并且这些形式的输入也具有相同的ID。您只需要更具体的选择器即可:

await page.type('form.form-stacked #user_session_email', 'atest')
await page.type('form.form-stacked #user_session_password', 'test')
await page.click('form.form-stacked [name="commit"]')

答案 1 :(得分:0)

这似乎不是木偶戏。

页面中的javascript代码似乎正在以某种方式主动阻止触发的事件。

您是否可以在控制台中使用常规javascript设置这些值?