如何单击其子项包含特定文本的父项

时间:2017-06-27 14:12:25

标签: selenium-webdriver

我是webdriver的新手,我正在自动化网站。我必须在该页面上找到一个文本,我想点击它的父div。有人可以帮忙吗? 以下是HTML代码。



<div class="col-md-6 col-sm-6 col-lg-6">
<p>
<strong class="detailShow ng-binding" ng-click="showJobs('NonInvite',item.taskId)"> TEST CR1 START DATE </strong>
</p>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

实现此目的的最简单方法是直接使用xpath。

您可以选择“更丑陋”的方式:

.//strong[contains(@class,'detailShow')]/../..

说明:

/.. - 这就是你获取父元素的方法。只有一个,意味着您将获得<p>标记,因此要获得<div>您需要另一个标记。

或者,你可以这样更好地进行:

.//strong[contains(@class,'detailShow')]/ancestor::div[@class='col-md-6 col-sm-6 col-lg-6']

说明: ancestor::div - 这一直到,并返回<div>个标记的所有父级。由于您只需要第一个<div>父级,因此您需要指定哪一个,因此:ancestor::div[@class='col-md-6 col-sm-6 col-lg-6']

现在,如果bootstrap类是您唯一的标识符,并且您可能位于<table>内,那么您也可以使用ancestor::div[1]