有人能为IE推荐一个类似于firefox中xpather (http://xpath.alephzarro.com/)的xpath生成器(免费)吗?我正在尝试使用selenium,而我正在开发的应用程序只能在IE中打开。
IE有没有xpath生成器?
谢谢
发布于 2011-03-08 01:38:52
这几乎是this StackOverflow question的复制品,@PhiLho提供了一个很好的答案--他提供了创建两个IE书签小程序的“源代码”,只需单击几下,就可以获得IE中大多数内容的XPath。
然而,值得一提的是,在Software Functional Test Automation上有一篇非常好的博客文章,如果你不太熟悉书签小程序,它将指导你如何实现PhiLho的解决方案。
发布于 2011-03-09 06:02:57
我用过很多选择器小工具,我很喜欢它:
http://www.selectorgadget.com/
我刚刚在IE8中尝试过,它似乎对我很有效……也许可以试一试。祝好运!
发布于 2013-09-04 15:01:18
在IE中,你需要安装Bookmarklet。
安装BOOKMARKLETS的步骤
1)打开IE
2)在地址栏中输入about:空白,然后按enter键
3)从收藏夹主菜单中选择->添加收藏夹
4)在Add a favorite弹出窗口中输入name GetXPATH1。
5)点击add a favorite弹出窗口中的add按钮。
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 (step4)
11)对刚创建的GetXPATH2重复步骤6和7。
12)在GetXPATH2的URL字段中输入以下内容
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,只需用鼠标选择元素即可。这需要在元素(链接、按钮、图像、复选框、文本等)开始之前单击鼠标左键,然后拖动它直到元素结束。完成此操作后,首先从favorites菜单中选择收藏的GetXPATH1,然后选择第二个收藏的GetXPATH2。在他的位置,你将得到一个确认,点击允许访问按钮。现在打开一个记事本文件,右击并选择粘贴选项。这将为您提供所查找元素的XPATH。
https://stackoverflow.com/questions/5216848
复制相似问题