Robot Framework自動化測試-元素定位之css
阿新 • • 發佈:2018-11-27
有了前面介紹的id、name、xpath定位方式,對於平時需要使用的定位方式基本都能做到,接下來在介紹一個稍微有點難度的css定位。css定位靈活,方便,但需要有點點基礎。
還是以百度搜索的為例做說明:
<html>
<body link="#0000cc">
<div id="wrapper" style="display: block;">
<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="form" class="fm" action="/s" name="f1">
<span class="s_ipt_wr">
<input id="kw" type="text" name="wd">
......
先看個表格吧,簡單整理了下,以便說明:
選擇器 | 例子 | 說明 |
---|---|---|
* | * | 通用元素選擇器,匹配任何元素 |
E | div | 標籤選擇器,匹配所有使用 E 標籤的元素 |
.info class | .s_ipt_wr | 匹配所有 class 屬性中包含 info 的元素 |
footer id | kw | 匹配所有 id 屬性等於 footer 的元素 |
E,F | div,p | 多元素選擇器,同時匹配所有 E 元素或 F 元素,E 和 F 之間用逗號分隔 |
E F | div p | 後代元素選擇器,匹配所有屬於 E 元素後代的 F 元素,E 和 F 之間用空格分隔 |
E > F | div>p | 子元素選擇器,匹配所有 E 元素的子元素 F |
E + F | p+div | 毗鄰元素選擇器,匹配緊隨 E 元素之後的同級元素 F (只匹配第一個) |
E ~ F | p ~ div | 同級元素選擇器,匹配所有在 E 元素之後的同級 F 元素 |
E[att=’val’] | div[id=”kw”] | 屬性 att 的值為 val 的 E 元素 (區分大小寫) |
E[att^=’val’] | div[id^=”kw”] | 屬性 att 的值以 val 開頭的 E 元素 (區分大小寫) |
E[att$=’val’] | div[id$=”kw”] | 屬性 att 的值以 val 結尾的 E 元素 (區分大小寫) |
E[att*=’val’] | div[id*=”kw”] | 屬性 att 的值包含 val 的 E 元素 (區分大小寫) |
E[att1=’v1’][att2*=’v2’] | form[id=”form”][class=”fm”] | 屬性 att1 的值為 v1,att2 的值包含 v2 (區分大小寫) |
E:contains(‘xxxx’) | 內容中包含 xxxx 的 E 元素 | |
E:not(s) | 匹配不符合當前選擇器的任何元素 | |
E:nth-child() | div:nth-child(1) | 找他的子元素,括號中的數字從1開始 |
E:first | div:first | 在其父元素中的E子元素集合中排在第1個的E元素 |
E:last | div:last | 在其父元素中的E子元素集合中排在最後1個的E元素 |
上面的表格中基本涵蓋了平時所用的所有定位方式