在CasperJS的fillSelectors中使用变量键

时间:2014-09-01 16:33:34

标签: javascript casperjs

我想使用变量作为fillSelectors()方法输入标记的键:

this.fillSelectors(formLogin, { variable1:myEmail},false)

表单名称和值(myEmail)是可变的,但不是键(variable1)。作为键,需要一个字符串,否则我会收到错误:

 CasperError: Errors encountered while filling form: no field matching css selector "inpu1" in form

你可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

通过执行{ variable1: myEmail },您将创建一个名为variable1的属性的对象。这与{ "variable1": myEmail }完全相同,因为javascript键每次都被读为字符串。这与其他语言不同,例如python,你可以将不同的对象作为键而不仅仅是字符串。

你想要的是以不同的方式构建你的对象:

var obj = {};
obj[variable1] = myEmail; // here the value of variable1 is used, not its name
this.fillSelectors(formLogin, obj, false)