您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
在 Selenium 中使用 XPath
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/1/3 14:13:03 ] 推薦標(biāo)簽:Selenium XPath

資源中的大多數(shù)教程都是重點(diǎn)都是在如何把 XPath 作為一個(gè)通用的 XML 處理工具來使用的 - 幸運(yùn)的是在 [X]HTML 上使用 XPath 大大限制了它的范圍。
我如何定位一個(gè)元素?

    使用上面提到的某個(gè) Firefox 擴(kuò)展并且在元素上點(diǎn)擊右鍵,把結(jié)果粘貼到你的腳本的第二個(gè)參數(shù)。缺點(diǎn): 這樣得到的路徑比較脆弱 (一個(gè)完整的路徑像這樣/html/body/div[1]/div[5]/div/table/tbody/tr/td/p/a[3]如果任何一個(gè)元素被加到了第三個(gè) a 之前那么這個(gè)路徑被破壞了,并且不同的瀏覽器也可能會(huì)把類似 tbody 這樣的元素插入到不同的位置)
    嘗試在你的代碼中包含 id
    如果你不能得到 id,嘗試選擇一個(gè)對(duì)于頁(yè)面來說的 class ('contentheading' etc) 并且從這里開始://div[@class='contentheading']/span[1]

Gotchas

    設(shè)置 selectors [1] [2] 等從 1 開始計(jì)數(shù),而不是 0
    如果你在一個(gè)元素里面使用多個(gè) class 譬如<div class="foo bar">) 你可以使用//div[contains(@class, "foo")]來尋找匹配的元素。
    不要忘了 id 不能有數(shù)字開頭。
    不要忘了<a>元素有 name 而不是 id。

為什么這些 @#$%! XPath 在 IE6 下不能工作?!Why wont this @#$%! XPath work in IE6?!

    某些原因?qū)е?XPath 表達(dá)式id('foo')/span在 IE6 下無(wú)法工作。嘗試使用//div[@id='foo']/span替代它。
    //div[5][@class="foo"](在 document 中選擇 class 為 foo 的第五個(gè) div) 在 IE6 下不工作。嘗試使用/descendant::div[@class="foo"][5]替代它。

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