它因网站而异。我假设您尝试登录的网站正在使用某种 ajax。如果.submit
没有成功,你可以尝试做.post
。这是解决方法示例。试试看它是否有效。
- 通过登录后获取 cookie。第一个渗透实例
.config
在第二个渗透实例中设置 cookie
代码:
osmosis
.get(loginUrl)
.post(loginPosturlTarget, {'username': username, 'password': password})
.then((context)=>{
// store cookies after post login.
let cookies = cookie.parse(context.request.headers['cookie']);
scrapeData(cookies);
})
.log(console.log)
.error(console.log)
.debug(console.log);
function scrapeData(cookies){
// do the actual scraping here with the cookie here
osmosis
.config('cookies', cookies)
.get(url)
// your follow/set/paginate/whatever chain here
.data((data)=> {
// do something with the data
})
.log(console.log)
.error(console.log)
.debug(console.log);
}
它不能保证在你的情况下工作,但我发现这在我工作过的大多数网站上都有效。如果仍然不起作用,也许可以尝试其他替代模块,例如nightmareJs。