jquery - Webdriver-io:使用“=”查询元素文本会在浏览器控制台中出现错误
问题描述
Webdriverio文档可以选择按文本查找元素,例如:
<a href="https://webdriver.io">WebdriverIO</a>
const link = $('=WebdriverIO')
但是,当我放入$('=WebdriverIO')
浏览器控制台时,我得到:
VM2375:1 Uncaught DOMException: Failed to execute '$' on 'CommandLineAPI': '=WebdriverIO' is not a valid selector.
at <anonymous>:1:1
为什么即使此选择器在我的 wdio 自动化测试中工作,我也会在控制台中收到错误?
解决方案
它会抛出错误,因为浏览器中的 $ 与测试中的 $ 不同。浏览器中的 $ 大部分时间都是 jQuery。WebdriverIO 没有浏览器版本,它在 ndoe 上运行。因此“=WebdriverIO”不是一个有效的 JQuery 选择器,而是一个有效的 webdriverIO 选择器
如果您正在寻找适用于浏览器和 webdriverIO 的选择器,那就是 cssSelectors 和 xpath 选择器
上面的 xpath 选择器是 //a[contains(text(),'WebdriverIO']
打开 chrome dev 控制台,点击元素选项卡并按 ctrl +F (cmd +F) 和搜索框输入选择器,然后将显示突出显示的项目
推荐阅读
- javascript - 在 React 中迭代数据数组时呈现 JSX 元素的最有效方式
- ldap - Airflow 10 LDAP 授权错误 - LDAPInvalidPortError:端口必须是整数
- scala - scala中的日期转换问题
- angular - 使用 Id 在 ngFor 循环中显示单个 ngrx 实体
- javascript - 在反应 js 中创建新事件时更新日历
- c# - C#删除数据库中所有选中的复选框
- sql-server - SQL Server:还原备份导致“此备份集中的日志太新”
- c# - .NET C# 中的高性能 TCP 套接字编程
- javascript - Vue+element popover 不能改变当前页面
- javascript - 更新状态中的子节点中的值