我在CasperJS中使用waitForSelector函数,并希望将变量(indexNumber)传递给成功回调。这似乎不起作用。这有可能吗?
casper.waitForSelector(x('//button[@class="addToShopcart"]'),
function success(indexNumber) {
casper.echo(stripLineBreaksTrim(casper.fetchText(x('//select[@id="artikel"]//option['
+ indexNumber + ']'))));
},
function fail() {});
我希望迭代选项列表的索引并从中提取数据。上面的代码片段封装在一个函数中。该函数在casper测试中调用。
一旦选择了选择框的选项,该按钮就会通过ajax加载(这在函数的另一部分中发生)。然后(见上文)我想得到一个特定选项的值(由indexNumber定义)。
答案 0 :(得分:0)
success
的{{1}}回调是步进函数回调(waitForSelector
)。传递给此回调的内容是已加载的最后一页资源,您无法使用其他变量名称then
来更改此行为。
根据评论,您要获取所选选项的文本,这实际上是最后更改的选项。所以以下内容应该有效:
indexNumber