• selenium之CSS定位汇总


    以百度首页为例:

    定位输入框

    一:单一属性定位

    1:type selector

    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']')

    driver.find_element_by_css_selector("[type='text']")

    二:组合属性定位

    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("[name='wd'][autocomplete='off']")

    6:模糊匹配属性值方法

    以百度首页点击按钮为例

    1>属性值由多个空格隔开,匹配其中一个值的方法

    driver.find_element_by_css_selector("input[class~='btn']")

    2>匹配属性值为字符串开头的方法

    driver.find_element_by_css_selector("input[class^='btn']")

    3>匹配属性值字符串结尾的方法

    driver.find_element_by_css_selector("input[class$='s_btn']")

    4>匹配被-分割的属性值的方法,如上图的class

    driver.find_element_by_css_selector("input[class|='s']")  #要求精确填写的属性值

    三:层级定位

     1:E>F    E下面的F这个元素

    driver.find_element_by_css_selector('from#form>span>input')#id是form的form下面的span下面的input

    2:E:nth-child(n)  如上图,

    driver.find_element_by_css_selector('#u_sp > a:nth-child(1)')#id为u_sp的下面的第一个a标签。

    #实测,这个定位不到,但是方法是对的,- -

    3:E:nth-last-child(n),如字面意思:倒数第几个标签

    4:E:first-child,第一个标签

    5:E:last-child,最后一个标签

    6:E:only-child,唯一的标签

  • 相关阅读:
    洛谷 P1068 分数线划定
    LeetCode 7. Reverse Integer
    LeetCode 504. Base 7
    洛谷 P1598 垂直柱状图
    用户场景
    个人博客03
    个人博客02
    个人博客01
    《构建之法》阅读笔记03
    学习进度条(第四周)
  • 原文地址:https://www.cnblogs.com/zuodaozhudemeng/p/7487798.html
Copyright © 2020-2023  润新知