2017-03-10 47 views
1

我有这样的结构:Xpath的最高父元素使用nightwatch

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

我听从点击元件上class ="click_class"如果h4text == "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的条件下点击带有文字的元素?

回答

1

试试下面XPath

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

或者,你可以把表达式您在谓词的h4文本内容父div代替:

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

然后导航归类div有class“click_class”的元素:

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

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

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

demo