1

我尝试了多个示例来获取拆分登录,但无法使其正常工作。虽然,我对 puppeteer 还是很陌生,但 login 感觉是理解 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)
})()

4

2 回答 2

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"]')
于 2020-06-10T15:05:36.703 回答
0

这似乎不是傀儡师的问题。

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

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

于 2020-06-10T01:23:49.200 回答