如何检查 Casper.js 中是否禁用了文本输入
How to check whether a text input is disabled in Casper.js?
我正在编写一个Casper.js测试。我需要检查输入字段是否disabled
。
casper.waitForSelector("input[id='myid']",
function success() {
...
},
function fail() {
...
});
...
检索字段不是问题,但是禁用测试呢?
我不完全确定 Casper.js 是否支持这一点,但您应该能够在选择器中使用 :disabled
伪类,让 DOM 为您处理它。
如果工作正常,您的代码将变为:
casper.waitForSelector("input[id='myid']:disabled",
function success() {
...
},
function fail() {
...
});
...
并且只有在元素被禁用时,您才会收到该元素。如果您需要相反,则有相应的:enabled
应该能够做到这一点。
您没有显示如何检索元素,但我假设您在没有evaluate
的情况下使用 casper API。你必须使用 evaluate
,因为disabled
是 DOM 元素的属性,而现有的 casper API 只提供检索属性的方便函数:
function success() {
var disabled = this.evaluate(function(selector){
return !!document.querySelector(selector).disabled;
}, "input#myid");
}
如果元素在页面加载后未更改,则还可以使用 getElementInfo
:
function success() {
var disabled = !!this.getElementInfo("input#myid").attributes.disabled;
}
这是
怎么回事。 简单的同步,不显眼。
var x = require('casper').selectXPath;
if (!casper.exists(x('//div[@class="item_size"]/input[@disabled]'))){ //!disabled
xpath = '//div[@class="item_size"]//li[1]/label'
var size = casper.fetchText(x(xpath)).trim();
casper.echo(size);
sizes.push(size)
}
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 是否可以为HTML5输入滑块触发oninput事件
- 使用onkeyup JS事件检查输入的值是否唯一
- 是否可以从输入处理程序中确定输入的类型
- angularJs检查是否输入
- Angularjs-检查我是否输入并切换加载程序图标
- javascript 警报以确认值是否输入了两次
- 检查是否输入了文本.找不到错误
- 提交前验证表单(检查是否输入了所有字段)
- 在JSF+PrimeFaces中重置表单之前,请检查是否输入了一些强制输入字段
- 检查是否输入了正确的电子邮件
- 检测以前是否输入过
- 如何检查数字输入字段中是否输入了字母字符或符号
- 搜索小部件-如何确定是否“输入”已按下或已选择结果
- 如何知道用户是否输入了已注册的有效电子邮件地址
- ASP.Net MVC Razor引擎:让javascript函数知道用户是否输入了无效数据
- jQuery如何判断用户是否输入'& # 39;在文本输入区
- 如何检测是否输入了两个输入元素,如文本字段.(php / javascript)
- 如何知道用户是否输入了无效的$routeparams
- Select2 -告诉用户是否输入了新的搜索选项