selenium2 python学习笔记2---简单对象的定位

一系列元素定位方法:

1. id        find_element_by_id()

2. name   find_element_by_name()

3. class name   find_element _by_class_name()

4. tag name     find _element_by_tag_name()

//最不靠谱,相同tag name元素太多

5.link text        find_element_by_link_text()

//通过文字链接定位

6. partial link text    find_element_by_partial_link_text()

//通过文字链接的部分定位,简单有效

7. xpath    find_element_by_xpath()

//绝对目录与相对目录,可以做布尔逻辑运算,但存在明显缺点:(1)性能差,定位元素的性能要比其它大多数方式差;(2)不够健壮,XPath会随页面元素布局的改变而改变;(3)兼容性不好,不同浏览器下对XPath的实现是不一样的;

8. css selector   find_element_by_css_selector()

//使用选择器为元素绑定属性,选择器常见语法:

(1) *  ,通用元素选择器,匹配任何元素;

(2)E,标签选择器,匹配所有使用E标签的元素;

(3).info ,class选择器,匹配所有class属性中包含info的元素;

(4)#footer, id选择器,匹配所有id属性等于footer的元素;

(5)E,F,多元素选择器,同时匹配所有E元素或F元素,E和F之间用逗号分隔;

(6)E F,后代元素选择器,匹配所有属于E元素后代的F元素,E和F之间用逗号分隔;

(7)E>F ,子元素选择器,匹配所有E元素的子元素F;

(8)E+F, 毗邻元素选择器,匹配紧随E元素之后的同级元素F(只匹配第一个);

(9)E~F, 同级元素选择器,匹配所有在E元素之后的同级F元素;

(10)E[att = 'val'],属性att的值为val的E元素(区分大小写);

(11)E[att^ = 'val'],属性att的值以val开头的E元素(区分大小写);

(12)E[att $= 'val'],属性att的值以val结尾的E元素(区分大小写);

(13)E[att *= 'val'],属性att的值包含val的E元素(区分大小写);

(14)E[att 1= 'val1'][att 2*= 'val2'],属性att1的值为val1,att2的值包含val2(区分大小写);

 (15)E:contains('xxx'), 内容中包含XXX的E元素;

(16) E:not(s), 匹配不符合当前选择器的任何元素

 

posted on 2016-08-05 10:55  临风飞扬  阅读(158)  评论(0编辑  收藏  举报

导航