CasperJS - 根据存储在变量中的值单击按钮
CasperJS - Click button based on value stored in variable
基于输入变量 "feeling",我想点击一个按钮(好、坏或好)。如何在 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']'));
});
}
您必须正确引用并构建要传递给 XPath 助手的字符串:
x('//*[text()="'+feeling+'"]')
通常 HTML 会写有很多空格,这些空格在呈现时不会显示。你需要让它更强大一点:
x('//*[contains(text(),"'+feeling+'")]')
kbet,
正如 Artjom 所说,您可以在 XPath 字符串中连接它的变量并获得 属性 元素文本 ()。
在某些情况下,您仍然可以继续搜索,以及坐标轴文本() 可以搜索**。 **.
例如:
'//a[.,"sample"]'
如上所述,文本与字符串一样准确。您甚至可以使用 CONTAINS:
比较某些文本
'//a[contains(.,"sample")]'
您可以考虑的另一个选择是将 casper.click () 与 CSS 路径元素一起使用(如果可以的话):
casper.click("my > css > path");
希望对您有所帮助! ;)
基于输入变量 "feeling",我想点击一个按钮(好、坏或好)。如何在 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']'));
});
}
您必须正确引用并构建要传递给 XPath 助手的字符串:
x('//*[text()="'+feeling+'"]')
通常 HTML 会写有很多空格,这些空格在呈现时不会显示。你需要让它更强大一点:
x('//*[contains(text(),"'+feeling+'")]')
kbet,
正如 Artjom 所说,您可以在 XPath 字符串中连接它的变量并获得 属性 元素文本 ()。
在某些情况下,您仍然可以继续搜索,以及坐标轴文本() 可以搜索**。 **.
例如:
'//a[.,"sample"]'
如上所述,文本与字符串一样准确。您甚至可以使用 CONTAINS:
比较某些文本'//a[contains(.,"sample")]'
您可以考虑的另一个选择是将 casper.click () 与 CSS 路径元素一起使用(如果可以的话):
casper.click("my > css > path");
希望对您有所帮助! ;)