2.2 常用8种元素定位(Firebug和firepath)
上一篇 / 下一篇 2018-06-12 10:40:12 / 个人分类:Python+Selenium2 WebDriver API
2.2 常用8种元素定位(Firebug和firepath)
IvZ3H(n-n5G*D0前言
-X;ft6f$@'f0元素定位在firefox上可以安装Firebug和firepath辅助工具进行元素定位。
2jFG?v?0t8AQ0V02.2.1 环境准备
51Testing软件测试网1P*W3W
Z*C+}Ze1.浏览器选择:Firefox51Testing软件测试网~[s`z
V
2.安装插件:Firebug和FirePath(设置》附加组件》搜索:输入插件名称》下载安装后重启浏览器)51Testing软件测试网 Jk B$IC#L#J8sU7Iw
3.安装完成后,页面右上角有个小爬虫图标
&pz*?.z-K;[:m1c1`04.快速查看xpath插件:XPath Checker这个可下载,也可以不用下载51Testing软件测试网 NEF|Q Sd
5.插件安装完成后,点开附加组件》扩展,如下图所示51Testing软件测试网z$[4q7eRLc
E'gT2b @ |`/CGPE6j0
2.2.2 查看页面元素
H%o0R+Z9~$H O#hf$g0N0以百度搜索框为例,先打开百度网页
V&bK8H5z8m01.点右上角爬虫按钮51Testing软件测试网0@cv.y2J,]9o
2.点左下角箭头51Testing软件测试网/m7yPA.Zyl(G6Y _A
3.将箭头移动到百度搜索输入框上,输入框高亮状态
NGRqnw U(^04.下方红色区域就是单位到输入框的属性:51Testing软件测试网2m'M*w8Am
<inputid="kw"class="s_ipt"type="text"autocomplete="off"maxlength="100"name="wd">
mU*GJE,dYM*f\0
L@lRRq02.2.3 find_element_by_id()
j2k_/?
o4q"[e01.从上面定位到的元素属性中,可以看到有个id属性:id="kw",这里可以通过它的id属性定位到这个元素。
-Y/i!D'^suU[02.定位到搜索框后,用send_keys()方法,输入文本。51Testing软件测试网h
bL&| h-t6}b
51Testing软件测试网8|]'^%s0b {q
2.2.4 find_element_by_name()
51Testing软件测试网0~)cK{` 1.从上面定位到的元素属性中,可以看到有个name属性:name="wd",这里可以通过它的name属性单位到这个元素。
3j8X,f:Z$S2` y0 说明:这里运行后会报错,说明这个搜索框的name属性不是唯一的,无法通过name属性直接定位到输入框
51Testing软件测试网ueG;K5{.}WPv
2.2.5 find_element_by_class_name()
51Testing软件测试网mS [~l\1.从上面定位到的元素属性中,可以看到有个class属性:class="s_ipt",这里可以通过它的class属性定位到这个元素。
DY4C!Ixz;j.w051Testing软件测试网i)]wA'dkd i H t0C$Q$d02.2.6 find_element_by_tag_name()
`C3AE&u01.从上面定位到的元素属性中,可以看到每个元素都有tag(标签)属性,如搜索框的标签属性,就是最前面的input。
0M#~#J%c5Y02.很明显,在一个页面中,相同的标签有很多,所以一般不用标签来定位。以下例子,仅供参考和理解,运行肯定报错。
51Testing软件测试网;b9e3`g%Nh.H*s
2.2.7 find_element_by_link_text()
$T)IZ~l K1K01.定位百度页面上"hao123"这个按钮
q uU;UBS |T051Testing软件测试网:_M B4y.n\)xg$Lm [*eC!H2wb051Testing软件测试网0i/IU qd7R-]i^"e*z(Q[*t)[6A[0
'wD)eZ ]0查看页面元素:
fqvls/OI-gu'j0<aclass="mnav"target="_blank"href="http://www.hao123.com">hao123</a>
m1Q4v*ty t02.从元素属性可以分析出,有个href = "http://www.hao123.com
m6G4[AC0U3H6C J*b0