2011-03-07 116 views
4

可以有人建議在IE瀏覽器中使用xpath生成器(免費),類似於Firefox中的 xpather(http://xpath.alephzarro.com/)。我正在嘗試使用硒和我正在使用的應用程序只在IE中打開。IE瀏覽器的Xpath生成器

是否有IE的xpath生成器?

感謝

回答

4

這是幾乎this StackOverflow question重複,其中@PhiLho提供一個很好的答案 - 他提供了「源代碼」,用於創建兩個IE書籤工具與一對夫婦得到任何東西的XPath的在IE點擊。

但是,這裏值得一提的是一個非常好的博客條目Software Functional Test Automation,如果您不熟悉bookmarklet,將會指導您如何實施PhiLho的解決方案。

+0

是的,上面提到的博客很好很好 – 2013-01-16 08:30:46

2

我用小工具選擇一堆,喜歡它:

http://www.selectorgadget.com/

我只是試圖在IE8,它似乎爲我工作...也許給一個鏡頭。祝你好運!

+0

在上面的url中找到的進程也適用於IE 8。不錯 – 2013-01-16 08:28:40

0

關於獲取IE xpath的腳本,這太棒了。但是,它不如Firefox上的Firebug有用。關於IE中的腳本,幾乎不可能在框架內獲得提交按鈕xpath或xp​​ath(如iframe)。

只是想知道IE的新版本是否會對xpath有很好的支持。

1

在IE中您需要install Bookmarklets。

的步驟,以INSTAL的bookmarklet

1)打開IE

2)輸入about:在地址欄空白和回車

3)從收藏夾中主菜單中選擇--->加入收藏夾

4)在Add a favorite彈出窗口中輸入名稱GetXPATH1。

5)在添加收藏夾彈出窗口中單擊添加按鈕。

6)打開「收藏夾」菜單並右鍵單擊新添加的收藏夾,然後選擇屬性 選項。

7)GetXPATH1屬性將打開。選擇Web文檔選項卡。

8)在URL欄中輸入以下內容。

javascript:function getNode(node){var nodeExpr=node.tagName;if(!nodeExpr)return null;if(node.id!=''){nodeExpr+="[@id='"+node.id+"']";return "/"+nodeExpr;}var rank=1;var ps=node.previousSibling;while(ps){if(ps.tagName==node.tagName){rank++;}ps=ps.previousSibling;}if(rank>1){nodeExpr+='['+rank+']';}else{var ns=node.nextSibling;while(ns){if(ns.tagName==node.tagName){nodeExpr+='[1]';break;}ns=ns.nextSibling;}}return nodeExpr;}

9)點擊OK。在彈出的提醒中點擊YES。

10)通過以下步驟添加另一個最喜歡的3〜5個,命名此最愛GetXPATH2(第四步)

11)您剛纔創建GetXPATH2重複步驟6和7。

12)輸入URL字段以下爲GetXPATH2

javascript:function o__o(){var currentNode=document.selection.createRange().parentElement();var path=[];while(currentNode){var pe=getNode(currentNode);if(pe){path.push(pe);if(pe.indexOf('@id')!=-1)break;}currentNode=currentNode.parentNode;}var xpath="/"+path.reverse().join('/');clipboardData.setData("Text", xpath);}o__o();

13)重複步驟9

您完成所有的工作!

現在獲取元素的XPATH只需用鼠標選擇元素。這將涉及在元素(鏈接,按鈕,圖像,複選框,文本等)開始並拖動它直到元素結束之前單擊鼠標左鍵。一旦你這樣做,首先從收藏夾菜單中選擇最喜歡的GetXPATH1,然後選擇第二個最喜歡的GetXPATH2。在他的點上,你會得到一個確認,點擊允許訪問按鈕。現在打開一個記事本文件,右鍵單擊並選擇粘貼選項。這會給你你所尋找元素的XPATH。