Pa11y actions使用咨询:非ID属性元素匹配及参考文档查询
Pa11y actions 配置相关问题解答
1. 无ID元素的定位与值设置方法
Pa11y actions的元素定位完全兼容标准CSS选择器语法,#只是CSS语法中匹配ID的选择器,绝非唯一支持的定位方式。未设置HTML ID的元素,完全可以通过class、name属性或其他元素特征完成匹配,你平时写CSS怎么选元素,这里的定位参数就怎么写,规则完全一致:
- 匹配class属性:直接用类选择器,格式为
.类名。比如给class为username-input的输入框赋值的写法:'set field .username-input to test_user' - 匹配name属性:用属性选择器,格式为
[属性名="属性值"]。比如给name属性为verify_code的输入框赋值的写法:'set field [name="verify_code"] to 123456' - 其他特征匹配:所有标准CSS选择器支持的规则都可生效,包括标签+属性组合、DOM层级匹配、自定义属性匹配、序位匹配等。比如定位type为email的输入框、点击表单区域第三个提交按钮的写法:
'set field input[type="email"] to test@demo.com', 'click element .form-wrap .submit-btn:nth-child(3)'
提醒:你给出的示例代码中
click element #password"带了多余的转义引号,实际配置时要去掉后缀的无效字符,否则会出现定位失败的问题。
2. actions功能的完整参考
Pa11y官方提供了actions功能的完整使用参考,覆盖所有支持的动作类型、语法规则、参数约束和可运行示例。除了你示例中用到的设置字段值、点击元素、等待URL跳转之外,还支持等待指定元素出现/移除、固定时长等待、页面跳转、触发键盘按键、注入自定义脚本、页面截图等动作,所有动作都采用统一的字符串指令格式,按照参考文档的规范书写即可正常运行。
你提供的示例修正笔误后的正确写法如下:
actions: [ 'set field #login_field to abc', 'set field #password to defghi', 'click element #password', 'wait for url to be http://github.com' ],
内容的提问来源于stack exchange,提问作者Adamantus
相关产品推荐
相关产品推荐

