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

sit*_*ith 9 javascript selenium nightwatch.js

说我的网页上有这些元素.

<a href="/dynamic1">One</a> 
<a href="/dynamic2">Two</a> 
<a href="/dynamic3">Three</a>
Run Code Online (Sandbox Code Playgroud)

我想点击带有文字的链接Two.如何使用链接文本标识或单击该元素,而不使用任何唯一属性,如id或class.

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

Flo*_* B. 9

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

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

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

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

.click("//a[normalize-space()='Some link']")
Run Code Online (Sandbox Code Playgroud)


Ben*_*Ben 5

现在有更好的方法,您可以使用任何记录的定位器策略。任何一项;id、、、、、、。)css selectorlink text​​partial link texttag namexpath

browser
  .click('link text', 'Some Link Text');
Run Code Online (Sandbox Code Playgroud)