在Webdriver.io中,有没有办法单击(按其元素)文本?
例如,某人单击并打开了一个下拉菜单,现在希望单击并通过其文本选择所需的元素。
.click('h1=Welcome to my Page')
你可以使用这个 //*[text()='match']
您可以使用 xpath 选择器选择任何带有文本的元素。所以你会这样:
browser.$('//*[text()="text you are looking for"]').click()
“ //”代表 HTML 文档对象模型的任何部分 ( https://www.w3schools.com/js/js_htmldom.asp )
*
代表任何 HTML 标签。如果有 a<div>
你可以使用//div,如果有<p>
你可以使用//p。
如果您只想使用文本的一部分,您可以使用包含这样的内容:
browser.$('//*[contains(text(), "part of text"]').click()
您可以在此处找到有关 webdriver.io 中选择器的更多信息: https ://webdriver.io/docs/api/browser/$.html
更多关于 xpath 的信息在这里: https ://devhints.io/xpath