• selenium元素定位Xpath


    1.绝对路径定位:

    用标签的层级关系来定位元素,最外层语言为HTML,接着是body,一级一级的往下找,如果同一级,有多个相同的标签,那么按照上下顺序确定第几个,例:div[2]表示当前层级下第二个div:

    find_element_by _Xpath(("/html/body/div/div/div/div/div/form/span/input")

    2.元素属性定位

    利用元素的属性来定位元素:find_element_by_Xpath("//元素名或*[@属性名=‘属性值’]/元素名2)

    find_element_by_Xpath("//input[@name='rn'])

    find_element_by_Xpath("//*[@type='hidden']")

     3.层级与属性结合

    如果一个元素没有唯一的标识,那么可以找它上级的元素,如果有也可以拿来用

    通过上级定位百度输入框:

    find_element_by_xpath("//span[@class='bg s_ipt_wr']/input"):通过父元素定位到子元素

    通过上上级定位百度输入框:

    find_element_by_xpath("//from[@id='from']/span/input“):通过爷爷元素定位到孙元素

    4.使用逻辑运算符

    逻辑运算符and连接多个属性来查找元素,表示必须同时满足多个条件来定位元素(如果一个元素不能定位到元素,那就多一个元素,如果再不行就再多一个元素)

    find_element_by_xpath("//input[@id='from' and @name='f']/span/input")

    5.使用contains方法 

    用于匹配一个属性中包含的字符串

    例如:span标签的class属性为"bg s_ipt_wr"(上图标识数字10的位置)

    find_element_by_xpath("//span[contains(@class,'bg s_ipt_wr')]/input)"

    6.使用text()方法

    用于匹配显示文本信息

    find_element_by_xpath("//a[@text()='新闻']")

    7.contains和text()结合使用:

    find_element_by_xpath("//a[contains(text()='一个很长的')]")
    # 等效于 partial link 定位文本
    find_element_by_partial_link_text("一个很长的")
  • 相关阅读:
    【洛谷P2839】middle
    【洛谷P2495】消耗战
    【CF1438D】Powerful Ksenia
    【CF878E】Numbers on the blackboard
    【洛谷U138580】简单的打击
    【洛谷P4774】屠龙勇士
    【GMOJ5363】生命之树
    【YbtOJ#20075】区间异或
    【YbtOJ#20077】计划带师
    hdu 2688
  • 原文地址:https://www.cnblogs.com/zhifeiji822/p/13042004.html
Copyright © 2020-2023  润新知