有一个网站,该网站使用HTML登录表单来通过用户名/密码进行身份验证。我需要编写NodeJS应用程序,该应用程序将登录到该网站,导航到某些链接并提取数据。导航部分很清楚,我可能可以使用cheerio查找元素。但是尚不清楚使用哪种框架进行登录。是否有任何模块可以使提交简单表格和存储Cookie变得简单?
答案 0 :(得分:0)
使用噩梦:https://www.npmjs.com/package/nightmare
这只是示例:
您可以单击“提交”按钮
const Nightmare = require('nightmare')
const nightmare = Nightmare({ show: true })
nightmare
.goto('https://duckduckgo.com')
.type('#search_form_input_homepage', 'github nightmare')
.click('#search_button_homepage')
.wait('#r1-0 a.result__a')
.evaluate(() => document.querySelector('#r1-0 a.result__a').href)
.end()
.then(console.log)
.catch(error => {
console.error('Search failed:', error)
})
您可以设置Cookie
nightmare
.goto('http://google.com')
.cookies.set({
name: 'token',
value: 'some token',
path: '/query',
secure: true
})
// ... other actions ...
.then(() => {
// ...
})