首页 > 解决方案 > 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 自动化测试中工作,我也会在控制台中收到错误?

标签: jquerywebdriver-iowebdriver-io-v4

解决方案


它会抛出错误,因为浏览器中的 $ 与测试中的 $ 不同。浏览器中的 $ 大部分时间都是 jQuery。WebdriverIO 没有浏览器版本,它在 ndoe 上运行。因此“=WebdriverIO”不是一个有效的 JQuery 选择器,而是一个有效的 webdriverIO 选择器

如果您正在寻找适用于浏览器和 webdriverIO 的选择器,那就是 cssSelectors 和 xpath 选择器

上面的 xpath 选择器是 //a[contains(text(),'WebdriverIO']

打开 chrome dev 控制台,点击元素选项卡并按 ctrl +F (cmd +F) 和搜索框输入选择器,然后将显示突出显示的项目


推荐阅读