在 casperjs 中检索元素的选中 属性
Retrieving the checked property of an element in casperjs
目前我正在使用 casper.evaluate 函数来做这样的事情
(使用 CoffeeScript)
bool = casper.evaluate ->
document.querySelector('button selector').checked
这似乎工作正常,但我想知道是否有内置的 casper 方法可用于检索 checkbox/radio 元素的已检查 属性?我试过使用 getElementAttribute()
但它不会将 'checked' 检测为属性。它也没有在从 getElementInfo()
.
检索到的 JSON 对象中列出
不,CasperJS 不提供让您检查元素的功能 属性,但您可以轻松创建自己的功能:
casper.isChecked = function(selector){
var result = this.evaluate(function(selector){
var el = document.querySelector(selector);
return el ? el.checked : null;
}, selector);
if (result === null) {
throw new CasperError("Selector not found");
}
return result;
};
getElementAttribute()
和 getElementInfo()
没有提供的原因是 checked
是 HTML 元素的 属性 而不是属性。属性通常是静态的,即使 属性 发生变化也不会发生变化。
目前我正在使用 casper.evaluate 函数来做这样的事情 (使用 CoffeeScript)
bool = casper.evaluate ->
document.querySelector('button selector').checked
这似乎工作正常,但我想知道是否有内置的 casper 方法可用于检索 checkbox/radio 元素的已检查 属性?我试过使用 getElementAttribute()
但它不会将 'checked' 检测为属性。它也没有在从 getElementInfo()
.
不,CasperJS 不提供让您检查元素的功能 属性,但您可以轻松创建自己的功能:
casper.isChecked = function(selector){
var result = this.evaluate(function(selector){
var el = document.querySelector(selector);
return el ? el.checked : null;
}, selector);
if (result === null) {
throw new CasperError("Selector not found");
}
return result;
};
getElementAttribute()
和 getElementInfo()
没有提供的原因是 checked
是 HTML 元素的 属性 而不是属性。属性通常是静态的,即使 属性 发生变化也不会发生变化。