Python元素定位

一.  id元素定位

        id有两种情况:一种id是唯一的,另一种id是动态的。

        (1)当id是唯一,最简单的定位方式:

        用法:find_element_by_id(“id_value”)

        实例:find_element_by_id(“kw”)

        (2)若id是动态变化,则不可以采用以上方式定位,如下

id是动态变化

二.  name元素定位

        用法:find_element_by_name(“name_value”)

        实例:find_element_by_name(“wd”)

        注:name有可能会重复

三.  class_name元素定位

        用法:find_element_by_class_name(“class_name_value”)

        实例:find_element_by_class_name(“wd”)

        注:class_name有可能会重复

四.  xpath元素定位

Python元素定位_第1张图片
例图

        用法:find_element_by_xpath(“xpath”)

        实例:

       (1)属性元素定位

        find_element_by_xpath(“//标签名[@属性=’属性值’]”)

        id属性:find_element_by_xpath(“//input[@id=’kw’]”)

        Class属性:find_element_by_xpath(“//input[@class=’s_ipt’]”)

        Name属性:find_element_by_xpath(“//input[@name=’wd’]”)

        Maxlength属性:find_element_by_xpath(“//input[@maxlength=’255’]”)

        (2)标签名元素定位

        指所有input标签元素:find_element_by_xpath(“//input”)

        (3)父子元素定位

        查找有父亲元素的标签名为span,它的所有标签名叫input的子元素

        find_element_by_xpath(“//span/input”)

        (4)内容元素定位

        find_element_by_xpath(“//p[contains(text(),’京公网’)]”)

内容元素定位

        注:contains的另一种用法://input[contains(@class,’s’)]说明class属性包含s的元素。

        (5)组合元素定位

        //父元素标签名/标签名的属性值:指的是span下的input标签下class属性为s_ipt的元素。

        find_element_by_xpath(“//span/input[@class=’s_ipt’]”)

        多个属性组合定位:

        a.  指的是input标签下id属性为kw且name属性为wd的元素

        find_element_by_xpath(“//input[@class=’s_ipt’ and @name=’wd’]”)

        b.  指的是p标签下内容包含”京公网”且id属性为jgwab的元素

        find_element_by_xpath(“//p[contains(text(),’京公网’) and @id=’jgwab’]”)

        (6)最简单的方法

        右键Copy->Copy XPath

五.  link元素定位

        用法:find_element_by_link_text(“text_value”)

        实例:find_element_by_link_text(“登录”)

六.  Partial_link元素定位

        用法:find_element_by_partial_link_text(“部分text_value”)

        实例:find_element_by_partial_link_text(“登”)

七.  tag_name元素定位

        用法:find_element_by_tag_name(“tag_name_value”)

        实例:find_element_by_tag_name(“input”)

八.  CSS元素定位

        右键Copy->Copy CSS

你可能感兴趣的:(Python元素定位)