4.python+selenium实现web自动化----CSS选择器
2020-04-22 17:19
585 查看
- 根据 tag名、id、class 选择元素
a. 要选择 所有的tag名为div的元素,就可以是这样
elements = wd.find_elements_by_css_selector(‘div’)
b. 根据id属性 选择元素的语法是在id号前面加上一个井号: #id值
i. element = wd.find_element_by_css_selector(’#searchtext’)
c. 根据class属性 选择元素的语法是在 class 值 前面加上一个点: .class值
i. elements = wd.find_elements_by_css_selector(’.animal’) - 选择 子元素 和 后代元素
a. 如果 元素2 是 元素1 的 直接子元素, CSS Selector 选择子元素的语法是这样的
i. 元素1 > 元素2,中间用一个大于号
b. 如果 元素2 是 元素1 的 后代元素, CSS Selector 选择后代元素的语法是这样的
元素1 元素2
中间是一个或者多个空格隔开 - 根据属性选择
a. 比如 苏ICP备88885574号 里面根据 href选择
b. css 选择器支持通过任何属性来选择元素,语法是用一个方括号 []
element = wd.find_element_by_css_selector(’[href=“http://www.miitbeian.gov.cn”]’)
c. 前面可以加上标签名的限制,比如 div[class=‘SKnet’] 表示 选择所有 标签名为div,且class属性值为SKnet的元素。
d. 要选择a节点,里面的href属性包含了 miitbeian 字符串,就可以这样写a[href*=“miitbeian”]
e. 要选择a节点,里面的href属性以 http 开头 ,就可以这样写a[href^=“http”]
f. 选择a节点,里面的href属性以 gov.cn 结尾 ,就可以这样写a[href$=“gov.cn”]
g. 如果一个元素具有多个属性沙漠之鹰
a. 选择的元素要 同时具有多个属性的限制,像这样 div[class=misc][ctype=gun] - 验证 CSS Selector
#bottom > .footer2 a
- 选择语法联合使用
<div id='bottom'> <div class='footer1'> <span class='copyright'>版权</span> <span class='date'>发布日期:2018-03-03</span> </div> <div class='footer2'> <span>备案号 <a href="http://www.miitbeian.gov.cn">苏ICP备88885574号</a> </span> </div> </div>
CSS selector 表达式 可以这样写:
div.footer1 > span.copyright
- 组选择(或的关系)
a. 如果要同时选择所有class为plant和animal的元素,怎么办?
a. CSS选择器可以使用逗号,称之为组选择
.plant , .animal - 按次序选择子节点
a. 指定选择父元素的第几个节点-----使用
nth-child
例如:选择第2个子元素,并且是span类型
span:nth-child(2)
b. 父元素的倒数第n个节点----使用
nth-last-child
例如:选择p元素的倒数第一个子元素
p:nth-last-child(1)
c. 父元素的第几个某类型的子节点
例:选择第一个span类型
span:nth-of-type(1)
d. 父元素的倒数第几个某类型的子节点
例:选择父元素的倒数第2个节点
p:nth-last-of-type(2)
e. 奇数节点和偶数节点
奇数:nth-chile(odd)
偶数:nth-child(even) - 兄弟节点的选择
a. 相邻兄弟节点的选择
例:选择h3后面紧跟着的兄弟节点span
h3+span
b. 后续所有兄弟节点的选择
例:选择h3后面所有的兄弟节点span
h3~span
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- python使用selenium实现web系统自动化巡检
- Python3+Selenium2完整的自动化测试实现之旅(三):Selenium-webdriver提供的元素定位方法
- Python3+Selenium2完整的自动化测试实现之旅(四):Selenium-webdriver操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换
- python+selenium实现web自动化常用方法
- 轻松自动化---selenium-webdriver(python) (十)
- 轻松自动化---selenium-webdriver(python) (三)
- 轻松自动化---selenium-webdriver(python) (五)
- 轻松自动化---selenium-webdriver(python) (一)
- 轻松自动化---selenium-webdriver(python) (十二)--转自虫师
- 轻松自动化---selenium-webdriver(python) (三)
- Python3+Selenium2完整的自动化测试实现之旅(六):Python单元测试模块Unittest运用
- 轻松自动化---selenium-webdriver(python) (八)
- 轻松自动化---selenium-webdriver(python) (四)--如何定位一组元素?
- 轻松自动化---selenium-webdriver(python) 系列教程
- 使用 Selenium 实现基于 Web 的自动化测试
- 轻松自动化---selenium-webdriver(python) (六)
- 轻松自动化---selenium-webdriver(python) (十一)
- 配置docker实现python+selenium自动化
- Mac OS下应用Python+Selenium实现web自动化测试
- 轻松自动化---selenium-webdriver(python) (一)