元素定位:
1、单元素定位 find_element()
8中元素定位方法:
1、id定位:使用元素的id属性定位
2、name定位:使用元素的name属性定位
3、class定位: 使用元素的class属性定位
class属性值中有空格时,使用全部class属性值定位时,空格必须使用点代替
class属性值有空格时,可以以空格来分隔class属性值,可以使用分隔后的部分class属性值定位
4、tag定位:使用元素标签定位
5、link_text定位:使用超链接文本定位
6、partial_link_text定位:使用超链接部分文本定位
7、css定位:使用元素层叠样式定位
在css定位中,可以使用元素的任意属性定位元素。
在css定位中可以在值的前面加点,表示在使用class属性值定位
在css定位中可以在值的前面加#,表示在使用id属性值定位
8、xpath定位:使用元素相对路径定位
在xpath中可以使用由元素标签组成的相对路径+元素属性定位
在xpath中使用class属性定位时,class属性值中有空格时,空格不能使用点代替
在xpath中可以使用元素上的文字定位
在xpath中可以使用contains关键字定位元素
在xpath中可以使用父子兄弟节点定位:
parent:父节点 preceding:兄节点 descendant:子节点 following:弟节点
注意:单元素定位返回值为定位到的元素对象。
2、多元素定位 find_elements()
8中元素定位方法:
1、id定位:使用元素的id属性定位
2、name定位:使用元素的name属性定位
3、class定位: 使用元素的class属性定位
class属性值中有空格时,使用全部class属性值定位时,空格必须使用点代替
class属性值有空格时,可以以空格来分隔class属性值,可以使用分隔后的部分class属性值定位
4、tag定位:使用元素标签定位
5、link_text定位:使用超链接文本定位
6、partial_link_text定位:使用超链接部分文本定位
7、css定位:使用元素层叠样式定位
8、xpath定位:使用元素相对路径定位
注意:多元素定位返回值为定位到的元素对象所组成的列表。列表中的元素按照定位到的顺序索引从0开始一次递增,如果定位不到元素,返回空列表。
ID = "id"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
frame框架(标签:iframe或frame)切换: switch_to.frame()
切换方式:
id切换:switch_to.frame('id属性值')
name切换:switch_to.frame('name属性值')
frame框架对象切换:先定位frame框架,获取frame框架元素对象,switch_to.frame(frame框架元素对象)
索引切换:switch_to.frame(索引值)
当frame框架存在嵌套情况时,必须一层一层切入
切回上层框架:switch_to.parent_frame()
切出框架:switch_to.default_content()
当两个平级的frame框架需要切换时,必须从原框架切出再切入目标框架
网页切换:
1、获取打开网页的句柄:window_handles,得到由网页对象组成的列表。
列表中网页索引按照打开的顺序从0开始依次递增
2、切换网页:switch_to.window(网页列表[索引])
3、关闭网页:close()