我必须做以下事情:给定一个从服务器加载的页面,我必须在加载后自动在该页面中提交一个表单,用相同的字符串 ( test worked
) 填充其所有输入字段。这显然是对我的问题的简化,但已经足够接近了!
目前我正在获取表格,并使用https://github.com/cheeriojs/cheerio来探索它:
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 等)。但是,在提交此表格时,我还有什么需要注意的吗?