首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Selenium中找到带有CSS选择器的非根元素的直系后代?

在Selenium中,要找到带有CSS选择器的非根元素的直系后代,可以使用CSS选择器中的子选择器(>)来实现。

子选择器(>)用于选择直接子元素,即只选择指定元素的直接子元素,而不包括孙子元素或更深层级的后代元素。

以下是使用子选择器来定位带有CSS选择器的非根元素的直系后代的步骤:

  1. 首先,找到根元素,可以使用driver.find_element_by_css_selector()方法,并指定根元素的CSS选择器。 例如:root_element = driver.find_element_by_css_selector("#root")
  2. 然后,通过根元素定位其直系后代元素,可以使用子选择器(>)和后代选择器(空格)来进行定位。 例如:direct_descendant = root_element.find_element_by_css_selector("> .direct-descendant")
  3. 在上述例子中,direct-descendant是根元素的直系后代元素的CSS类选择器。
  4. 最后,你可以继续操作找到的直系后代元素,比如获取其文本内容、执行点击操作等。

总结一下,要在Selenium中找到带有CSS选择器的非根元素的直系后代,可以使用子选择器(>)结合根元素来定位。这样可以准确地定位到指定的直系后代元素。

请注意,以上提供的是一种方法,实际应用中还可以根据具体情况选择其他方法进行元素定位。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

02.爬虫基础知识与简易爬虫实现

---- ID选择器 元素的id属性 比如 id就是important #intro用于选择id=intro的元素 可以结合元素选择器...*[title] 选择所有包含title属性的元素 a[href]选择所有带有href属性的锚元素 还可以选择多个属性,比如:a[href][title],注意这里是要同时满足。... ---- 后代(包含)选择器 选择某元素后代的元素(层级不受限制) 选择h1元素的em元素:h1 em ---- ---- XPath 节点 七种基本节点 元素、属性、文本 命名空间、处理指令、注释以及根节点 节点之间的关系 父、子、同胞(兄弟)、先辈、后代 ----.../title[@lang] 选择所拥有有名为lang的属性的title元素 /bookstore/book[price>35.00] ---- 与CSS选择器的比较 CSS更加简洁 XPath选择功能更加强大

45100

Selenium系列(十三) - 自动化必备知识之Xpath的详细使用

标签 选取此节点的所有子节点,类似 css 中的标签选择器 / > 从根节点选取,也就是当前节点的最顶层(默认情况下当前节点是 html 最顶层,若从某元素开始,当前节点为此元素) // 空格...,后代选择器 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置 ....它是从1开始的 如: //input[2] ,表示任意节点下的第二个 input 标签 Xpath等价于CSS选择器的栗子 首先我们访问:https://www.51job.com/ 然后按F12,选中...Elements,按Ctrl+F 将下面的表达式放进去,逐一验证匹配出来的元素是否一致 注意:这里可能需要你懂CSS的各种选择器写法哦,不太了解的可以看这篇博文:https://www.cnblogs.com...【/可替代,略显多余】 descendant 选取当前节点的所有后代元素(子、孙等)【//可替代,略显多余】 descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身

1.6K30
  • web自动化04-css定位

    用来描述html元素的显示样式   选择器是一种模式,用于选择需要添加样式的元素   selenium中推荐使用css定位,比XPath定位要快  2、如何定位?   ...css定位方法:通过css的选择器语法定位元素   element = driver.find_element_by_css_selector(css策略)  3、常用定位?   ...element1米定位element2,并且element2为element1的后代元素   例如2:祖辈策略  后代策略 注意:父子层级关系也可以使用空格连接上下层级策略 4、CSS延伸[了解] input...***扩展8种元素定位的底层实现**********:   方式:driver.find_element(By.xxx, 'value')   参数说明:     By.xxx :为By类的类型 如:By.ID...    value: 元素的定位值 如: "userA" By类:需要导包 位置: from selenium.webdriver.common.by import By

    23360

    【UI自动化-2】UI自动化元素定位专题

    路径匹配有以下几个符号: 用/表示节点路径,如/A/B/C表示节点A的子节点B的子节点C,/表示根节点。...元素选择器 选择input类型的元素: By.cssSelector("input") 7.1 css类与id选择器 id选择器以 # 来定义,class类选择器以一个.显示,有以下几种例子: 选择id...'ch'].bg") 7.3 css子元素选择器 何为子元素?...):By.cssSelector("form#form > span > input") 7.4 css后代元素定位 后代元素与子元素的区别是,A元素的子元素的子元素,也是A的后代元素。...后代元素的标志符号是空格,例如同样定位百度搜索框,用后代元素方式: By.cssSelector("form#form input[name='wd']") 7.5 css相邻兄弟选择器 相邻兄弟选择器

    1.9K30

    Web 自动化实战经验硬核总结

    一、元素定位常用方法 1. xpath规则说明 "/" : 表示从根节点选取 "//" : 从匹配选择的当前节点选择 "@" : 选取属性 "*" : 匹配任何元素节点 "@*" : 匹配任何属性节点...CSS选择器(css selector) 作用:用于定位页面上的标签元素,找到符合选择器的标签元素,然后应用样式。...css定位语法 选择器 表达示例 含义 id选择器(id用 #表示) #abc 匹配id为abc的标签 class选择器(class用 .表示) .abc 匹配class为abc的标签 标签选择器 p...a[title] 匹配属性有title的a标签 属性选择器—匹配单词边界 a[title~=“hello”] 匹配title包含hello的a标签 后代选择器(空格表示),可选取当前层级下的任意层级元素...直接子元素 XPATH 中的直接子元素是使用“/”定义的,而在 CSS 上,它是使用“>”定义的 XPATH://div/input CSS: div>input 后代元素 如果一个元素在另一个元素的内部

    94920

    软件测试测试开发|Python selenium CSS定位方法详解

    简介CSS选择器是一种用于选择HTML元素的模式。它允许我们根据元素的标签名、类名、ID、属性等属性进行选择。CSS选择器的语法简单而灵活,是前端开发中常用的定位元素的方式。...selenium中的css定位,实际是通过css选择器来定位到具体元素,css选择器来自于css语法。...4属性名|='属性值' type|="submit" 选择所有type以"submit"开头的元素备注:某些元素属性有多个值(如class属性),值表现为以空格隔开,使用时需要单个取出使用组合选择器组合选择器就是同时使用多个基础选择器...元素1>元素2 div>p 选择所有父级是\的\元素后代 元素1 元素2 div p...\元素使用示例通过id选择器查找通过css定位的id属性查找百度首页的输入框元素,代码如下:from selenium import webdriverfrom selenium.webdriver.common.by

    38610

    selenium css定位

    说明:本篇博客基于selenium 4.1.0 selenium-css定位 element_css = driver.find_element(By.CSS_SELECTOR, 'css表达式')...css定位说明 selenium中的css定位,实际是通过css选择器来定位到具体元素,css选择器来自于css语法 css定位优点 语法简洁 对比其他定位方式,定位效率更快 对比其他定位方式,定位更稳定...type|="submit" 选择所有type以"submit"开头的元素 备注:某些元素属性有多个值(如class属性),值表现为以空格隔开,使用时需要单个取出使用 组合选择器 组合选择器就是同时使用多个基础选择器...div>和\元素 父子 元素1>元素2 div>p 选择所有父级是\的\元素 后代...伪属性选择器是指元素在html中实际并不存在该属性,是由css定义的拓展描述属性 选择器 格式 示例

    87100

    软件测试|selenium css定位

    说明:本篇博客基于selenium 4.1.0selenium-css定位element_css = driver.find_element(By.CSS_SELECTOR..., 'css表达式')css定位说明selenium中的css定位,实际是通过css选择器来定位到具体元素,css选择器来自于css语法css定位优点语法简洁对比其他定位方式,定位效率更快对比其他定位方式...(如class属性),值表现为以空格隔开,使用时需要单个取出使用组合选择器组合选择器就是同时使用多个基础选择器,从而更好地筛选出目标元素选择器 格式 示例...>的\元素后代 元素1 元素2 div p 选择\中的所有\元素相邻 元素1+元素...选择\同级后的所有\元素伪属性选择器伪属性选择器是指元素在html中实际并不存在该属性,是由css定义的拓展描述属性选择器 格式

    72920

    《最新出炉》系列初窥篇-Python+Playwright自动化测试-5-元素定位大法-上篇

    1.简介说到元素定位,小伙伴或者童鞋们肯定会首先想到 selenium 的八大元素定位大法。同理Playwright也有自己的元素定位的方法。...选择器(Selector)是用于创建定位器的字符串。Playwright 支持许多不同的选择器,比如 Text、CSS、XPath 等。...当然除了这些,还有其他定位方法,selenium的8种by元素定位,id、xpath、css等都可使用,还有W3C标准规定的webDriver协议为5种定位方式CSS、Link text、Partial...3.4.1何时使用文本定位器建议使用文本定位器来查找非交互式元素,如div, span, p 等。对于交互式元素,如请button, a, input, 使用角色定位器。...()创建一个定位器,该定位器采用描述如何在页面中定位元素的选择器。

    3.8K31

    如何在Selenium WebDriver中查找元素?(一)

    建议网站开发人员避免使用非唯一ID或动态生成的ID,但是某些MVC框架(如– ADF)可能会导致页面具有动态生成的ID。...如果任何网站具有非唯一ID或具有动态生成的ID,则不能使用此策略唯一地查找元素,而是将返回与定位器匹配的第一个Web元素。我们将如何克服这种情况,将在XPATH / CSS选择器策略中进行说明。...现在,让我们了解如何使用CSS选择器在Selenium中查找元素。...相反,我们必须使用CSS选择器或XPath选择器。 XPATHSelector XPATH使用标准的XML查询语法,因此更具可读性,学习曲线也不那么陡峭。...但是,CSS选择器虽然具有更简单的语法支持,但不像XPATH和其他文档支持那样是标准的,与XPATH不同。

    6.1K10

    自动化测试——selenium(环境部署和元素定位篇)

    ) 6、partial_link_text(定位超链接 a 标签 包含关系) 7、xpath (路径) 8、css (元素选择器) 注意:这是 selenium 框架中提供的八大元素定位方法,只要能够定位目标元素...定位 ☆ 通过 css 的选择器语法定位元素 1、Selenium框架官方推荐使用 css ,因为定位效率高于xpath 2、 CSS一种标记语言,焦点:数据的样式。...控制元素的显示样式,就必须先找到元素,在css标记语言中找元素使用css选择器; 3、css的选择策略也有很多,但是无论选择哪一种选择策略都是用的同一种定位方法 # 方法: driver.find_element_by_css_selector...="全部属性值"]) 3、属性选择器 语法1:[属性名=“属性值”] 语法2:标签名[属性名=“属性值”] 4、标签选择器 语法:标签名 如input,button 5、层级选择器 父子层级关系...:父层级策略 > 子层级策略 (也可以使用空格连接上下层级策略) 祖辈后代层级关系:祖辈策略 后代策略 提示:>与空格的区别,大于号必须为子元素,空格则不用。

    1.8K10

    CSS复合选择器

    交集选择器 交集选择器由两个选择器构成,其中第一个为标签选择器,第二个为class选择器,两个选择器之间不能有空格,如h3.special。 ? 记忆技巧: 交集选择器 是 并且的意思。...后代选择器 后代选择器又称为包含选择器,用来选择元素或元素组的后代,其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。 ?  ...子孙后代都可以这么选择。 或者说,它能选择任何包含在内 的标签 子元素选择器 子元素选择器只能选择作为某元素子元素的元素。...属性选择器 选取标签带有某些特殊属性的选择器 我们称为属性选择器         /* 选择input中带有value属性的 */         input[value] {             ...(CSS3) E::first-letter文本的第一个单词或字(如中文、日文、韩文等) E::first-line 文本第一行; E::selection 可改变选中文本的样式; p

    46440

    【CSS选择符】后代选择符

    以下是结构示意图 祖辈:外层HTML标签是内层标签的祖辈。标签是其内部所有标签(、 和标签)的祖辈。 后代:标签里的其他标签是后代。标签是标签的后代, 标签即使标签的后代,也是标签的后代。...标签直接包含在 标签里,所以是 标签的子代。 同辈:父辈相同的标签叫同辈标签,相当于兄弟姐妹。如和是同辈标签,和 也是同辈标签。...在CSS中,后代选择器的写法是: 祖辈 后代 { 样式 ; } 首先,先找到祖辈,然后中间有一个空格,空格后面跟着后代。...后代选择符可以由2个以上元素组成,例如: ul li a body li a html li a html body ul li a 以上四个选择符的作用相同,因此表明,无需指明目标标签的所有直系。...同样的,后代选择符也不局限于只能使用类型选择符。 可以使用不同类型的选择符构建复杂的后代选择符。

    77450

    CSS快速入门(一)

    目录 CSS快速入门 简介 语法结构 如何注释 引入方式 选择器 简介 选择器列表 选择器的优先级 基本选择器 标签选择器 类选择器 id选择器 通用选择器(不重要) 组合选择器 后代选择器 儿子选择器...它是元素和其他部分组合起来告诉浏览器哪个HTML元素应当是被选为应用规则中的CSS属性值的方式。选择器所选择的元素,叫做“选择器的对象”; css是用来调节标签样式的 那为什么需要学选择器呢?...{ color: deeppink; } 属性选择器 CSS 属性选择器通过已经存在的属性名或属性值匹配元素; 语法 [attr] 表示带有以 attr...[attr=value] 表示带有以 attr 命名的属性,且属性值为 value 的元素。...a[title] { } 标签属性选择器 伪类选择器 p:first-child { } 伪类 伪元素选择器 p::first-line { } 伪元素 后代选择器 article p 后代运算符 子代选择器

    94920

    《CSS选择器世界》读书笔记

    概述 CSS选择器可分为4类:选择器(如body{})、选择符(如相邻兄弟关系选择符+)、伪类(如:hover)和伪元素(如::before)。...精通CSS选择符 四大选择符:后代选择符(空格),孩子选择器(>),相邻兄弟选择符(+)、后面兄弟选择符(~)。...焦点伪类:focus可以生效的元素: 非disabled状态的表单元素; 包含href属性的a元素; 元素,不过可生效的CSS属性有限; HTML5中的元素。...树结构伪类 :root匹配根元素,IE9以上才支持,在XHTML中根元素就是html,另外也可以匹配的SVG的根元素,但不能匹配Shadow DOM的的根元素,Shadow DOM的的根元素是:host...:root最常用的是声明CSS变量。 :empty用来匹配空元素,这里的空元素包括前后闭合的空元素,甚至这种非闭合的标签。如果标签内有空格、换行、注释则不能匹配:empty。

    9210

    CSS选择器分类

    简单选择器 根据标签名、id、类名来选取。id:是标签id的属性值,类名:是标签class的属性值。 元素选择器:根据标签名来选择html元素,如p、h1、div、input等待。...组合类选择器 css有四种不同的组合器: 后代选择器(空格) 子选择器(>) 相邻兄弟选择器(+) 通用兄弟选择器(~) 实例:内容 后代选择器:div p{ font-size...伪元素选择器 伪元素用于设置元素指定部分的样式,如元素首行、之前、之后等插入内容。...在元素之前加入内容 p::first-line 文本的首行添加样式或内容 p::first-letter 文本的首字母添加样式或内容 属性选择器 为带有特定属性 [attribute] 的html元素设置样式...[class*="top"]{ },选取class属性包含top的元素。 css选择器很多,css3也新增了很多选择器,我们后期在讲css3的选择器。

    1.3K50

    CSS 常见面试题速查

    标签选择器 .className class 选择器 #footer id 选择器 多元素组合选择器 E, F 多元素选择器,同时匹配所有 E 元素 或 F 元素 E F 后代选择器,匹配所有属于...E 元素后代的 F 元素 E > F 子元素选择器,匹配所有 E 元素的子元素 F E + F 相邻元素选择器,匹配所有紧随着 E 元素之后的同级元素 F E ~ F CSS3,匹配任何在 E 元素之后的同级...F 元素 属性选择器 CSS 2.1 E[attr] 匹配所有具有 attr 属性的 E 元素(E 可以省略,如 [checked]) E[attr=val] 匹配所有 attr 属性值为 val...的 E 元素 E[attr~=val] 匹配所有 attr 属性具有多个空格分隔的值、其中一个值等于 val 的 E 元素,如具有多个 class 名的元素 CSS 3 E[attr^="val"]...,此时的 相对 是相对于正常文档流的位置 absolute 相对于最近的非 static 定位祖先元素的偏移,来确定元素位置 如一个绝对定位元素的父级和祖父级都为 relative,会相对父级来产生偏移

    91210

    CSS选择器分类

    简单选择器 根据标签名、id、类名来选取。id:是标签id的属性值,类名:是标签class的属性值。 元素选择器:根据标签名来选择html元素,如p、h1、div、input等待。...组合类选择器 css有四种不同的组合器: 后代选择器(空格) 子选择器(>) 相邻兄弟选择器(+) 通用兄弟选择器(~) 实例:内容 后代选择器:div p{ font-size...伪元素选择器 伪元素用于设置元素指定部分的样式,如元素首行、之前、之后等插入内容。...在元素之前加入内容 p::first-line 文本的首行添加样式或内容 p::first-letter 文本的首字母添加样式或内容 属性选择器 为带有特定属性 [attribute] 的html元素设置样式...[class*="top"]{ },选取class属性包含top的元素。 css选择器很多,css3也新增了很多选择器,我们后期在讲css3的选择器。

    95820
    领券