前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Selenium之find_element_by_css_selector()的使用方法

Selenium之find_element_by_css_selector()的使用方法

原创
作者头像
python鱼霸霸
修改2020-05-07 10:05:20
3.8K0
修改2020-05-07 10:05:20
举报

以百度搜索首页为例,我们要定位到搜索输入框的话,应该如何写呢?

单属性查找
代码语言:javascript
复制
# 1.用 标签名 定位查找
driver.find_element_by_css_selector("input")

# 2.用 id 属性定位查找 
driver.find_element_by_css_selector("kw")

# 3.用 class 属性定位查找
driver.find_element_by_css_selector("s_ipt")

# 4.其他属性定位
driver.find_element_by_css_selector("[name="wd"]")
组合属性查找
代码语言:javascript
复制
# 1. 标签名及id属性值组合定位

driver.find_element_by_css_selector("input#kw")

# 2.  标签名及class属性值组合定位

driver.find_element_by_css_selector("input.s_ipt")

# 3. 标签名及属性(含属性值)组合定位

driver.find_element_by_css_selector("input[name="wd"]")

# 4. 标签及属性名组合定位

driver.find_element_by_css_selector("input[name]")

# 5. 多个属性组合定位

driver.find_element_by_css_selector("[class="s_ipt"][name="wd"]")
模糊匹配示例 , 如需匹配下图中的class
代码语言:javascript
复制
# 1. class拥有多个属性值,只匹配其中一个时
driver.find_element_by_css_selector("input[class ~= "bg"]")

# 2. 匹配以字符串开头的属性值
driver.find_element_by_css_selector("input[class ^= "bg"]")

# 3. 匹配以字符串结尾的属性值
driver.find_element_by_css_selector("input[class $= "s_btn"]")

# 4. 匹配被下划线分隔的属性值
driver.find_element_by_css_selector("input[class |= "s"]")
层级查找
代码语言:javascript
复制
# 1.直接子元素层级关系,如上图的 百度一下 ,input为span的直接子元素(用 > 表示)
driver.find_element_by_css_selector(".bg.s_btn_wr > input")
# class为bg和s_btn_wr 的span标签的子元素input

# 2.只要元素包含在父元素里面,不一定是直接子元素,用空格隔开,如图一所示,form 下面的 span 里面的input
driver.find_element_by_css_selector("#form input")
# id是form的form标签里面的input标签

# 3.多级关系
driver.find_element_by_css_selector("#form > span > input")
# id是form的form标签下面的span标签的下面的input标签

#其他
p:nth-child(1)             # 选择第一个p标签,还可写为 p:first-child
p:nth-last-child(1)             # 选择倒数第一个p标签(要保证最后一个标签是p)
p:only-child        #唯一的p标签

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 单属性查找
  • 组合属性查找
  • 模糊匹配示例 , 如需匹配下图中的class
  • 层级查找
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档