Robot Framework学习笔记7-Selenium 元素定位

1id name 定位

以百度的搜索框为例:


根据图片,我们可以看到百度输入框可以取 id name 进行定位。(前提是 id name 的值在当页面上唯一)
id = kw
name = wd
Robot framework 中就是这样写的:

Input text 用于输入框的关键字,“robot framework 学习”是要给输入框输入的内容。
百度按钮只
id 数据可以利用:
id=su

Click Button 是按钮点击的关键字。

2、xpth定位

来看看百度输入框在整个页面上的位置吧:
<html>
<
head>
<
body link="#0000cc">
<
div id="wrapper" style="display: block;">
<
div id="debug"
style="display:block;position:absolute;top:30px;right:30px;border:1px solid;padding:5px
10px;"></
div>
<
div id="u">
<
div id="head">
<
div id="content" style="display: block;">
<
div id="u1" style="display: block;">
<
div id="m">
<
p id="lg">
<
p id="nv">
<
div id="fm">
<form id="form1" class="fm" action="/s" name="f1">
<
span class="bg s_ipt_wr">
<
input id="kw1" class="s_ipt" type="text" maxlength="100" name="wd"

autocomplete="off">


2.1Xpath 的绝对路径:
Xpath = /html/body/div[1]/div[4]/div[2]/div/form/span[1]/input
我们可以从最外层开始找,html 下面的 body 下面的 div 下面的第 4 div 下面的....input 标签。通过

一级一级的锁定就找到了想要的元素。

2.2、Xpth的相对路径:

Xpath 同样可以利用元素自身的属性:
Xpath = //*[@id=’kw’]
//
表示某个层级下,*表示某个标签名。@id=kw1 表示这个元素有个 id 等于 kw 
当然,一般也可以制定标签名:
Xpath = //input[@id=’kw’]
元素本身,可以利用的属性就不只局限为于 id name ,如:
Xpath = //input[@type=’text’]
Xpath = //input[@autocomplete=’off’]
但要保证这些元素可以唯一的识别一个元素。


2.3、找上级:
元素的上级属性为:
<form id="form1" class="fm" action="/s" name="f1">
<
span class="bg s_ipt_wr">
<input id="kw" class="s_ipt" type="text" maxlength="100" name="wd"
autocomplete="off">
找爸爸:
xpath = //span[@class=’bg s_ipt_w’]/input
如果爸爸没有唯一的属性,可以找爷爷:
xpath = //form[@id=’form1’]/span/input

这样一级一级找上去,直到 html ,那么就是一个绝对路径了。

Robot framework 中的写法:


3、css定位

同样以百度输入框的代码,我们来看看 CSS 如何定位。
<form id="form1" class="fm" action="/s" name="f1">
<
span class="bg s_ipt_wr">
<
input id="kw1" class="s_ipt" type="text" maxlength="100" name="wd"

autocomplete="off">


id 定位:css=#kw
class
定位:css=.s_ipt
其它属性:css=[name=wd]
css=[type=text]

css=[autocomplete=off]

父子定位:css=span > input
css=form > span > input
根据标签名定位:css=input
Robot framework
中的写法:

同样一个元素,根基 CSS 的不同规则,可能有几十上百种写法。CSS 更灵活强大,但是相比 path
学习成本为更高。但是
css xpath 两种定位方式是一定要学会一种,不然你的自动化工作更无法开展。





猜你喜欢

转载自blog.csdn.net/x83853684/article/details/80548285