selenium基础实战之定位网页元素技巧
selenium定位网页元素
find_element_by_id,find_element_by_name,find_element_by_class_name
1)、开启浏览器
browser = webdriver.Firefox();
2)、打开网页
browser.get("http://baidu.com")
使用python判断是否正确
browser.title 或者 browser.current_url
3)、定位元素的8种方法,(!!!!一定要唯一)
id: find_element_by_id() 采用id属性进行定位
name: find_element_by_name() 定位方式和id定位相似,id、name和class一般在网页都至少会有其中的一种
class name: find_element_by_class_name() 定位方式和id定位相似,id、name和class一般在网页都至少会有其中的一种
4)、定位到元素后的方法
clear() //清空
send_keys() // 输入
back() //后退页面
maximize_window() // 最大化窗口
click() //点击事件,点击按钮,超链接
submit() //提交表单
5)、定位到元素后的属性
tag_name //标签名
text //文本内容
selenium基础实战之定位网页元素技巧下集,
1)、tag name:find_element_by_tag_name() 通过标签名去定位,用的少,如find_element_by_tag_name("div")
2)、link text: find_element_by_link_text() 超链接内容定位,元素内容
如 <a href="#">xxx </a>,则find_element_by_link_text("xxx")
from time import sleep
sleep(5)
3)、partial link text:find_element_by_partial_link_text() 超链接内容定位,模糊匹配,和上面类似
selenium网页元素之CSS定位
使用css定位网页元素
1)、css selector:find_element_by_css_selector()
根据CSS属性定位,一般class是用.标记,id是用#标记,定位方式也会比xpath快
如 find_element_by_css_selector('input[id=\'search\']') // 规则: 元素[属性=值]
技巧:通过firebug的拷贝css路径
路径:审查元素-》右键-》复制-》css选择器
selenium网页元素之xpath定位
使用xpath定位网页元素
1)、xpath语法:http://www.w3school.com.cn/xpath/xpath_syntax.asp
注意 : ”//“ 是全部的意思,即全文扫描, ”/“ 的相邻的意思, *是所有元素, ”..“是元素的父节点, "."是当前节点
2)、xpath :find_element_by_xpath()xpath是XML路径语言,通过元素的路径来完成对元素的查找,HTML就是XML的一种实现方式,在FriePath插件里copy对应的xpath地址
绝对路径定位:从<html>标签开始依次往下进行查找
相对路径:利用元素属性来进行xpath定位
技巧:通过firebug的拷贝css路径
8种选择器注意问题:如果定位元素报错,原因如下
1)、根据定位取不到
2)、多个元素根据下标超出范围,没有0,从1开始
解决办法:换其他方式定位元素