python+selenium元素定位详解

  • 通过元素id定位
#通过元素id定位
wb.find_element_by_id('kw').send_keys('selenium')
  • 通过class_name定位
#通过class_name定位
wb.find_element_by_class_name('s_btn').click()
  • 通过标签名定位
#通过标签名定位
wb.find_element_by_tag_name('class="soutu-btn"').click()
  • 通过css表达式定位
    css表达式功能比较强大,想了解的可参考我的另一篇文章:selenium元素定位之CSS选择器语法汇总

  • 通过xpath定位
    1、绝对路径选择
    从根节点开始,例如:/html/body/div
    2、相对路径选择
    用//表示,代表绝对路径,例如://div//p
    3、根据属性选择
    语法:[@属性名=‘属性值’
    4、根据id属性选择
    语法://[@id='id名字']
    5、根据class属性选择
    语法://标签名[@class='class名字']
    6、根据其他属性选择
    例如://
    [@multiple]
    7、属性值包含字符串
    语法://[contains(@属性值,'值')]
    8、属性值以字符串开头
    语法://
    [start-with(@属性值,'值')]
    9、某类型的第N个元素
    语法://div/p[2]
    10、某类型的倒数第N个元素
    语法:
    //div/p[last()] ---代表倒数第1个元素
    //div/p[last()-1] ---代表倒数第2个元素
    11、范围选择
    语法://option[position()<3] ----代表选择option类型第1个到第2个子元素
    12、组(多元素)选择
    语法:用竖线|隔开
    例如://option/p | //div/h
    13、选择父节点(css不具备的功能)
    语法:用/..来表示父节点
    例如://[@id='name']/.. ----表示获取id为name的父节点
    14、兄弟节点选择
    语法:
    后面的兄弟节点用following-sibling::
    前面的兄弟节点用 preceding-sibling::
    例如://
    [@id='name']/following-sibling::* --表示选择id为name的后续所有兄弟节点

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容