您的位置:首页 > 编程语言 > Python开发

4.python+selenium实现web自动化----CSS选择器

2020-04-22 17:19 585 查看
  1. 根据 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’)
  2. 选择 子元素 和 后代元素
    a. 如果 元素2 是 元素1 的 直接子元素, CSS Selector 选择子元素的语法是这样的
    i. 元素1 > 元素2,中间用一个大于号
    b. 如果 元素2 是 元素1 的 后代元素, CSS Selector 选择后代元素的语法是这样的
    元素1 元素2
    中间是一个或者多个空格隔开
  3. 根据属性选择
    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]
  4. 验证 CSS Selector
#bottom > .footer2  a
  1. 选择语法联合使用
<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
  1. 组选择(或的关系)
    a. 如果要同时选择所有class为plant和animal的元素,怎么办?
    a. CSS选择器可以使用逗号,称之为组选择
    .plant , .animal
  2. 按次序选择子节点
    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)
  3. 兄弟节点的选择
    a. 相邻兄弟节点的选择
    例:选择h3后面紧跟着的兄弟节点span
    h3+span
    b. 后续所有兄弟节点的选择
    例:选择h3后面所有的兄弟节点span
    h3~span
  • 点赞
  • 收藏
  • 分享
  • 文章举报
半路的solo 发布了4 篇原创文章 · 获赞 0 · 访问量 125 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: