Это варьируется от сайта к сайту.Я предполагаю, что веб-сайт, на который вы пытаетесь зайти, использует какой-то ajax.Если .submit
не сработало, вы можете попробовать сделать .post
.Вот пример обходного пути.Попробуйте и посмотрите, работает ли он.
- Получить cookie через почтовый логин.первый экземпляр осмоса
- установить cookie в
.config
во втором экземпляре осмоса
код:
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 .