CSS 选择器-如何定位父元素

Posted

技术标签:

【中文标题】CSS 选择器-如何定位父元素【英文标题】:CSS Selector-How to locate Parent Element 【发布时间】:2015-09-08 17:26:05 【问题描述】:

有没有办法在 CSS 选择器中定位父元素? 我正在使用下面的代码,但我没有得到父元素。

WebElement we=dr.findElement(By.cssSelector("div[id='gf-BIG']:parent"));

我知道 XPath 中有一种方法,但请告诉我如何在 CSS 选择器中定位父级。

【问题讨论】:

css 无法像 xpath 那样灵活地遍历节点 【参考方案1】:

参考Is there a CSS parent selector? 主题,CSS 中没有父选择器。将“获取父级”部分留给 XPath:

WebElement we = dr.findElement(By.cssSelector("div[id='gf-BIG']"));
WebElement parent = we.findElement(By.xpath(".."));

【讨论】:

【参考方案2】:

如果有帮助,这里是如何通过 xpath 获取它的示例

WebElement parentElement = driver.findElement(By.xpath("//div[@id='gf-BIG']/parent::parentElementTag"));

parentElementTag - 可能是 div/span/tr - 取决于你的情况

【讨论】:

【参考方案3】:

如果父级是 div,你可以试试下面的方法

div div[id='gf-BIG']

【讨论】:

以上是关于CSS 选择器-如何定位父元素的主要内容,如果未能解决你的问题,请参考以下文章

CSS常用选择器和定位

用css选择器 如何选择自己的父元素

层叠和继承的概念,选择器的优先级,盒模型,元素在页面上的定位体系,常规流

css笔记1

有 CSS 父选择器吗?

有 CSS 父选择器吗?