<div class="classA">
<label class="classB">
<span>Referral Date</span>
</label>
<div>
<input class="classC">
</div>
</div>
我正在使用xpath来抓住'推荐日期'。这是一项要求,因为用户将把这个人类可读的标签传递给我。我知道如何到达那里:
//div/label[@class="classB"]/span[text()="Referral Date"]
现在,我需要访问输入[@ class =“classC”]才能在我的WebDriver Automation中单击它。我可以这样做吗?
//div/label[@class="classB"]/span[text()="Referral Date"]
/parent::div/div/input[@class="classC"]
嗯,这对我不起作用。
我也尝试了这个没有成功:
//div/label[@class="classB"]/span[text()="Referral Date"]
/following-sibling::div/input[@class="classC"]
没有用,我不认为它可以,因为跟随兄弟只指内部的节点。正确?
答案 0 :(得分:1)
span的父级是label而不是div。 试试这些
//div/label[@class="classB"]/span[text()="Referral Date"]/ancestor::div[@class="classA"]//input[@class="classC"]
//div/label[@class="classB"]/span[text()="Referral Date"]/parent::label/parent::div//input[@class="classC"]
//div/label[@class="classB"]/span[text()="Referral Date"]/parent::label/following-sibling::div/input[@class="classC"]
答案 1 :(得分:0)
在XPath
下方尝试匹配所需的input
:
//div/label[@class="classB"]/span[text()="Referral Date"]/following::input[@class="classC"]