您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源功能測(cè)試工具 > Selenium
輕松自動(dòng)化---selenium-webdriver(python)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/8/9 13:21:18 ] 推薦標(biāo)簽:

  id 和 name

  --------------------------------------------------------------------------------

  id 和 name 是我們常用的定位方式,因?yàn)榇蠖鄶?shù)控件都有這兩個(gè)屬性,而且在對(duì)控件的id 和name命名時(shí)一般使其有意義也會(huì)取不同的名字。通過(guò)這兩個(gè)屬性使我們找一個(gè)頁(yè)面上的屬性變得相當(dāng)容易

  我們通過(guò)前端工具,找到了百度輸入框的屬性信息,如下:

  <input id="kw" class="s_ipt" type="text" maxlength="100" name="wd" autocomplete="off">

  id=”kw”

  通過(guò)find_element_by_id("kw") 函數(shù)是捕獲到百度輸入框

  name=”wd”

  通過(guò)find_element_by_name("wd")函數(shù)同樣也可以捕獲百度輸入框

  tag name 和class name

  --------------------------------------------------------------------------------

  從上面的百度輸入框的屬性信息中,我們看到,不單單只有id 和 name兩個(gè)屬性,比如class 和 tag name(標(biāo)簽名)

  <input>

  input 是一個(gè)標(biāo)簽的名字,可以通過(guò)find_element_by_tag_name("input") 函數(shù)來(lái)定位。

  class="s_ipt"

  通過(guò)find_element_by_class_name("s_ipt")函數(shù)捕獲百度輸入框。

  但是,碰下面的一組控件屬性,我們哭了。

<th width="95"></th>
<th width="">文件名</th>
<th class="c1">創(chuàng)建時(shí)間</th>
<th class="c1">狀態(tài)</th>
<th class="c1">文件大小</th>
<th class="c1">時(shí)長(zhǎng)</th>

  下面的css 和 XPath沒(méi)有上面的那么直觀,如果不懂前端的話可能不太好理解

  CSS定位

  --------------------------------------------------------------------------------

  CSS(Cascading Style Sheets)是一種語(yǔ)言,它被用來(lái)描述HTML和XML文檔的表現(xiàn)。CSS使用選擇器來(lái)為頁(yè)面元素綁定屬性。這些選擇器可以被selenium用作另外的定位策略。

  CSS的比較靈活可以選擇控件的任意屬性,上面的例子中:

  find_element_by_css_selector("#kw")

  通過(guò)find_element_by_css_selector( )函數(shù),選擇取百度輸入框的id屬性來(lái)定義

  也可以取name屬性

<a href=http://news.baidu.com name="tj_news">新 聞</a>
driver.find_element_by_css_selector("a[name="tj_news"]").click()

  可以取title屬性

<a onclick="queryTab(this);" mon="col=502&pn=0" title="web" href=http://www.baidu.com/>網(wǎng)頁(yè)</a>driver.find_element_by_css_selector("a[title="web"]").click()

  也可以是取..:

<a class="RecycleBin xz" href="javascript:void(0);">
driver.find_element_by_css_selector("a.RecycleBin").click()

  雖然我也沒(méi)全部理解CSS的定位,但是看上去應(yīng)該是一種非常靈活和牛X 的定位方式

  擴(kuò)展閱讀:

  http://www.w3.org/TR/css3-selectors/

  http://www.w3school.com.cn/css/css_positioning.asp

上一頁(yè)123下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd