Selenium webdriver 如何单击其子级包含特定文本的父级
我是webdriver的新手,我正在自动化一个站点。在其中,我必须在该页面上找到一个文本,我想点击它的父分区。有人能帮忙吗? 下面是HTML代码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-
测试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代码,很难猜测实现这一点的最佳方法是什么。