Google 알리미에서 RSS 알리미를 만드는 프로젝트에서 node-horseman
을 사용하고 있습니다. 아직 연결하지 않은 사용자는 애플리케이션을 통해 자신의 Google 계정에 로그인해야 자신이 보유한 피드 목록을 검색 할 수 있습니다. 이 응용 프로그램은 기본적으로 생성 된 RSS 피드에 대한 Facebook 페이지 뉴스에 자동 게시하는 데 사용됩니다. 아주 간단한말 사범/PhantomJS - 오류를 확인하고 쿠키를 만드는 것을 방지하는 방법?
* login() {
if (!this.email || !this.password) {
this.addError(HTTPResponse.STATUS_FORBIDDEN, 'E-mail and Password are necessary')
return false
}
const horseman = new Horseman({ cookiesFile })
return new Promise((resolve, reject) => {
horseman
.open('https://accounts.google.com')
.type('input[type="email"]', this.email)
.click('#next')
.wait(1000)
.type('input[type="password"]', this.password)
.click('#signIn')
.wait(3000)
.close()
setTimeout(function() {
resolve(true)
}, 3000)
})
}
:
는 지금까지 login
기능은 다음과 같다. 로그인하여 cookiesFile
을 작성하면 새 피드를 작성하고 기존 피드를 검색 할 수 있습니다. 그러나 오류를 확인할 방법이 없기 때문에 완전히 실패하지 않습니다. 예제를 찾거나 아무것도 만들 수 없습니다. 나는 evaluate()
를 사용하고 .error_msg
태그가 있는지 확인하려고하지만 phantomJS Unhandled rejection fn
에 오류가 발생합니다 :
...
.wait(1000)
.evaluate(function() {
if (jQuery('.error-msg').length > 0) {
this.addError(HTTPResponse.STATUS_INTERNAL_SERVER_ERROR, 'Error!')
return false
}
})
...
그것은 오류가 실행을 중단하지 던져 여전히 나쁜 쿠키 파일을 생성하지 않습니다.
이 방법'this.addError'은 무엇입니까? 그것은 당신의 node.js 애플 리케이션의 방법이 아닙니다, 그렇죠? – Vaviloff
이 방법은 오류를 저장하고 UI에 시간을 표시하는 프로젝트입니다. 작업 클래스는이 메서드가있는 기본 작업을 확장합니다. – mfgabriel92
나를 도울 줄 알아? – mfgabriel92