使用nightwatch直到父元素的Xpath

时间:2017-03-10 09:41:28

标签: css xpath automated-tests nightwatch.js

我有这个结构:

 <div class="class">
    <h4 class="class2"> 
      "Condition" </h4>
    <div class = "click_class">Click_text  </div>
 </div>

如果class ="click_class" h4,我会注意点击text == "Condition"元素。

我尝试Xpath

 .useXpath()
 .click('//div[contains(@class, "class")]//h4[text()[contains(.,"Condition")]

这是有效的。我找到了text == "Condition"的h4。现在,在我看来,我需要转到父class并点击click_class

.click('//div[contains(@class, "class")]//h4[text()[contains(.,"Condition")]..//div[text()="Click_text"]')

但它不起作用。

如何在h4

中点击包含条件的文字元素

2 个答案:

答案 0 :(得分:1)

请尝试以下XPath

//h4[normalize-space(text())="Condition"]/following-sibling::div[@class="click_class"]

答案 1 :(得分:1)

或者,您可以将检查h4 的文本内容的表达式放在父div的谓词中:

//div[contains(@class, "class")][h4/text()[contains(.,"Condition")]]

然后导航到返回具有“click_class”类的子div元素:

/div[contains(@class, "click_class")]

所以整个表达式如下(为了便于阅读而包装):

//div[contains(@class, "class")][h4/text()[contains(.,"Condition")]]
/div[contains(@class, "click_class")]

<强> demo