다음 작업을 수행해야합니다. 서버에서로드 된 페이지가 있으면로드 한 후 자동으로 해당 페이지의 양식을 제출하고 모든 입력 필드를 채워야합니다. 같은 문자열 (test worked
). 이것은 분명히 내 문제의 단순화이지만 충분히 가깝습니다! 순간 cheerio (예 : JQuery)와 함께 자동으로 쿼리 제출하기
var URL = http://www.example.com/form/index.html"
// ...load the page ...
$ = cheerio.load(fetchedPageText);
, 나는 다음과 같은 코드가 있습니다
var $ = cheerio.load(fetchedPageText);
var forms = $('form');
for(var i1 = 0, l1 = forms.length; i1 < l1; i1 ++){
var form = forms[ i1 ];
inputFields = $('input', form);
console.log("******FORM ACTION: ", form.attribs.action);
console.log("******FORM: ", form);
for(var i2 = 0, l2 = inputFields.length; i2 < l2; i2 ++){
var inputField = inputFields[ i2 ];
console.log(inputField);
console.log("**************INPUT FIELD ", inputField);
/* At this point, I have `action` and every input field */
}
};
질문 :
-
을
현재
submit
은 페이지를 기준으로합니다. 나는 다운 드레드를 가지고 있습니다. 디. 올바른 장소에 물건을 제출하는 방법은 무엇입니까? url.parse를 수행하고 URL에서 액션에 대한 갈매기 경로를 찾아야합니까?실제로 "게시물"문자열을 어떻게 만듭니 까? 또는이 양식을 어떻게 게시 하시겠습니까?
나는 이것이 작동하지 않을 수도 있음을 깨닫는다. (폼에는 Javascript가있을 수있다. 그러나이 양식을 제출할 때 조심해야 할 것이 있습니까?
스팸 문제에 대해 걱정할 필요가 없습니다. 저는 스패머가 아닙니다. API는 변경할 수 없지만 괜찮습니다. superAgent 링크를 주셔서 감사합니다. – Merc
내 평판 점수를 올리신 것에 대해 감사드립니다. – xmojmr
스택 오버플로 환영 : D – Merc