요즘 나는 악몽 모듈을 매우 놀랐다. 나는 매우 간단하고 유용하다고 생각하지만 질문이있다.내가 nightmarejs에서 아약스를 클릭하면 콜백을 사용하는 방법
내가
var Nightmare = require('nightmare'),
nightmare = Nightmare();
nightmare
.goto('https://motul.lubricantadvisor.com/Default.aspx?data=1&lang=ENG&lang=eng')
.click('input[title="Cars"]')
.wait(1000)
.evaluate(function() {
//return $('#ctl00_ContentPlaceHolder1_lstModel option');
var links = document.querySelectorAll('#ctl00_ContentPlaceHolder1_lstMake option');
return [].map.call(links, function (e) {
return {value: e.value, name: e.text};
});
})
.end()
.then(function (items) {
console.log(items);
});
방법을 기다리고 있습니다 아약스 버튼
MyCode를 클릭 할 때 콜백을 사용하는 방법에 대해 설명합니다. 대부분의 사람들은 대기 검색을 사용합니다. 나는 검색을 검색했습니다.
.wait(1000)
저는 대기 방법을 사용하지 않습니다. 네트워크 연결이 끊어 지거나 느린 경우. 좋은 코드가 아닙니다.
콜백 메소드를 도와 주시겠습니까 ??
감사합니다. 그래서 코드를 모방했지만 작동하지 않습니다.
var Nightmare = require('nightmare'),
nightmare = Nightmare();
nightmare
.goto('https://motul.lubricantadvisor.com/Default.aspx?data=1&lang=ENG&lang=eng')
.click('input[title="Cars"]')
.wait('#result > #ctl00_ContentPlaceHolder1_lstMake option')
.evaluate(function() {
$(document).ajaxSuccess(function() {
var links = document.querySelectorAll('#ctl00_ContentPlaceHolder1_lstMake option');
return [].map.call(links, function (e) {
return {value: e.value, name: e.text};
});
});
})
.end()
.then(function (items) {
console.log(items);
});
감사를. 작동하지 않습니다. 내 코드를 확인할 수 있니? 나는 나의 질문을 모티브로 삼았다. 너무 어려워요. –
왜'ajaxSuccess'를 사용하고 있습니까? 제 질문의 첫 부분이 당신을 위해 일하지 않았습니까? –
첫 부분을 보았습니다. 그러나 그것은 작동하지 않습니다. 좋아, 다시 시도 할게. –