Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Selenium webdriver 如何单击其子级包含特定文本的父级_Selenium Webdriver - Fatal编程技术网

Selenium webdriver 如何单击其子级包含特定文本的父级

Selenium webdriver 如何单击其子级包含特定文本的父级,selenium-webdriver,Selenium Webdriver,我是webdriver的新手,我正在自动化一个站点。在其中,我必须在该页面上找到一个文本,我想点击它的父分区。有人能帮忙吗? 下面是HTML代码 测试CR1开始日期 实现这一点的最简单方法是直接使用xpath 您可以选择以下“更丑陋”的方式: .//strong[contains(@class,'detailShow')]/../.. .//strong[contains(@class,'detailShow')]/ancestor::div[@class='col-md-6 col-

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



测试CR1开始日期


实现这一点的最简单方法是直接使用xpath

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

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

/…
-这是获取父元素的方式。只有一个,意味着您将获得
标记,因此要获得
您需要另一个

或者,你可以用一种更好的方式:

.//strong[contains(@class,'detailShow')]/../..
.//strong[contains(@class,'detailShow')]/ancestor::div[@class='col-md-6 col-sm-6 col-lg-6']
说明:
祖先::div
-此项将一直上升到并返回所有属于
标记的父项。由于您只需要第一个
父级,因此需要指定哪一个:
祖先::div[@class='col-md-6 col-sm-6 col-lg-6']


现在,如果引导类是您唯一的标识符,并且您可能在
中,那么您也可以使用
祖先::div[1]

分享您已经尝试过的内容//在下面提及任务名称Thread.sleep(1000);driver.findElement(By.xpath(“//div[@class='col-md-6 col-sm-6 col-lg-6'和//p/strong[contains(text(),'TEST CR1 START DATE')]”)。单击();我不确定它是否正确。“MunsSimrimali你能考虑更新你的用例为什么你需要点击<代码>父div <代码>?考虑一下你的工作和你面临的错误。谢谢@DebanjanB实际上我在一页上有很多记录,每个记录都有一个标题。如果我点击一个标题,它会打开一个模式。如果我点击它的父节点,它将打开另一个模式,这是必需的。它不起作用,但给了我需要做什么的想法。非常感谢。那么,在强标记和祖先之间也使用p标记。对于祖先,您可以将第二种情况与祖先::div[1]一起使用。无论如何,如果没有更完整的html代码,很难猜测实现这一点的最佳方法是什么。