根据输入变量"感觉",我想点击一个按钮(好,坏或好)。如何在casper.click中指定输入变量?
var feeling = 'bad'; //User can choose good, bad or ok
.
.
logit_feeling(feeling); //fucntion call
.
.
// fucntion defnition
var logit_feeling = function (feeling){
casper.then(function (){
casper.click(x('//*[text()='feeling']'));
});
}
答案 0 :(得分:0)
您必须正确引用并构建要传递给XPath帮助程序的字符串:
x('//*[text()="'+feeling+'"]')
HTML通常用很多空格编写,在渲染时不会显示。你需要让它更健壮一点:
x('//*[contains(text(),"'+feeling+'")]')
答案 1 :(得分:0)
kbet,
正如Artjom所说,你可以在XPath字符串中连接它的变量并获取属性元素text()。
在某些情况下,你仍然可以追求,以及可能搜索**的axis text()。 **。
例如:
'//a[.,"sample"]'
如上所述,文本在字符串处是准确的。您甚至可以使用CONTAINS:
比较一些文本'//a[contains(.,"sample")]'
您可以考虑的另一个选择是使用带有CSS路径元素的casper.click()(如果可以的话):
casper.click("my > css > path");
希望你能帮忙! ;)