一尘不染

如何使用nightwatch.js中的链接文本单击链接

selenium

假设我的网页上有这些元素。

<a href="/dynamic1">One</a> 
<a href="/dynamic2">Two</a> 
<a href="/dynamic3">Three</a>

我想单击带有文本的链接Two。如何使用 链接文本 来识别或单击该元素,而没有任何独特的属性,例如id或class。

在.Net中,我可以使用driver.findElement(By.linkText("Images")).click();。nightwatch.js中的等效项是什么


阅读 391

收藏
2020-06-26

共1个答案

一尘不染

定位器By.linkText在内部使用XPath。

因此,使用XPath单击示例中的第二个链接:

.useXpath()     // every selector now must be XPath
.click("//a[text()='Two']")
.useCss()      // we're back to CSS now

请注意,根据内部HTML的不同,您可能需要连接子级并修剪空格:

.click("//a[normalize-space()='Some link']")
2020-06-26