浅谈自动化测试

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

2017-06-21  本文已影响737人  Alex_tester

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

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")



上一篇下一篇

猜你喜欢

热点阅读