美文网首页浅谈自动化测试
Python+Selenium自动化学习——定位元素

Python+Selenium自动化学习——定位元素

作者: Alex_tester | 来源:发表于2017-06-21 01:59 被阅读737次

    查看网页页面代码可以使用以下途径:

    Chrome:按F12或者网页页面右键的“检查”            Firefox:网页页面右键的“审查元素”

    1.通过id属性来定位元素(id属性在html文档中必须具有唯一性)

       find_element_by_id()方法

       文本输入框定位:find_element_by_id('kw')


    2.通过name属性来定位元素(name属性在当前页面中)

       find_element_by_name()方法

       文本输入框定位:find_element_by_name('wd')


    3.通过class属性来定位元素

       find_element_by_class_name()方法

       文本输入框定位:find_element_by_class_name('s_ipt')


    4.通过tag来定位元素

       find_element_by_tag_name()方法         没成功!!!!略过....................


    5.通过link元素标签对之间的文本信息来定位元素

       find_element_by_link_text()方法


    6.通过partial link定位元素,和link类似,只不过是部分文本信息来进行定位

       find_element_by_partial_link_text()方法


    7.find_element_by_xpath()方法

       7.1绝对路径来定位:find_element_by_xpath('/html/body/.........')   

       文本框:find_element_by_xpath("/html/body/div[2]/div[1]/div/div[1]/div/form/span[1]/input")

       7.2通过属性定位元素

       find_element_by_xpath("//标签名[@属性=‘属性值’]")

       id属性:find_element_by_xpath("//input[@id = 'kw']")

       name属性:find_element_by_xpath("//input[@name = 'wd']")

       如果不想指定标签名,可以将标签名用 * 代替,xpath不局限于id、name、class这三个属值, 元素的任意属性都可以使用,只要它能唯一标识一个元素

       7.3通过标签定位元素

       当元素没有唯一标识的属性可以利用时,可以往上层级进行搜索,假如标签中有唯一标识,那 么可以利用标签名来进行定位

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

       7.4通过多个属性组合定位元素

       当一个属性不能唯一区分一个元素,可以用逻辑运算符and来连接多个属性查找元素

       find_element_by_xpath("//input[@id = 'kw' and @name = 'wd']")



    8.通过CSS定位元素

       8.1通过id属性定位元素

       文本框:find_element_by_css_selector("#kw")

       按钮:find_element_by_css_selector("#su")

       8.2通过class属性定位元素

       文本框:find_element_by_css_selector(".s_ipt")

       按钮:find_element_by_css_selector(".bg s_btn")

       8.3通过其他属性值来定位元素

       文本框:find_element_by_css_selector("[name = 'wd']")

                       find_element_by_css_selector("[maxlength = 255]")

                       find_element_by_css_selector("[autocomplete = 'off']")

       8.4通过层级父子关系来定位元素

       文本框:find_element_by_css_selector("span > input ")

       拓展:find_element_by_css_selector("span > input.s_ipt")



    相关文章

      网友评论

        本文标题:Python+Selenium自动化学习——定位元素

        本文链接:https://www.haomeiwen.com/subject/fecaqxtx.html