Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer 使用IE开发工具查找XPath元素_Internet Explorer_Xpath_Ie Developer Tools - Fatal编程技术网

Internet explorer 使用IE开发工具查找XPath元素

Internet explorer 使用IE开发工具查找XPath元素,internet-explorer,xpath,ie-developer-tools,Internet Explorer,Xpath,Ie Developer Tools,有没有一种方法可以使用IE开发者工具找到元素的XPath?这篇文章建议,如果您打开“单击选择元素”选项,您应该能够让IE开发者工具栏显示所单击元素的XPath。 或者,本文建议使用bookmarklets或IE debugbar: 如果您的目标是找到CSS选择器,您可以使用MRI(打开MRI后,单击任意元素以查看该元素的各种选择器): 对于Xpath: 您可以使用名为 唯一的限制/限制: 浏览器应该从该工具启动 -IEDriverServer.exe-应单独下载并放置在SwdPageReco

有没有一种方法可以使用IE开发者工具找到元素的XPath?

这篇文章建议,如果您打开“单击选择元素”选项,您应该能够让IE开发者工具栏显示所单击元素的XPath。

或者,本文建议使用bookmarklets或IE debugbar:

如果您的目标是找到CSS选择器,您可以使用MRI(打开MRI后,单击任意元素以查看该元素的各种选择器):

对于Xpath:


您可以使用名为

唯一的限制/限制:

  • 浏览器应该从该工具启动
  • -
    IEDriverServer.exe
    -应单独下载并放置在
    SwdPageRecorder.exe附近

  • 您是否正在试图找到一些在IE中使用xpath的方法

    其他浏览器有许多附加组件,比如Chromeor和FireFox的firebug,它们可以在一秒钟内为您提供元素的xpath。但遗憾的是,没有任何附加组件或工具可用于IE。在大多数情况下,您可以使用Firefox中的上述工具获取脚本中元素的xpath,并稍微调整它们(如果需要)以使它们在IE中工作

    但是,如果您正在测试一个只在IE中工作的应用程序,或者包含此元素的特定场景或页面只在IE中打开/播放,那么您不能使用上述任何工具来查找XPATH。 在这种情况下,唯一有效的是专门为此编写的bookmarklet。Bookmarklets是JavaScript代码,您可以将其作为书签添加到IE中,然后使用它获取所需元素的XPATH。使用这些,您可以像使用xpather或任何其他firefox插件一样轻松地获得XPATH

    安装BOOKMARKLETS的步骤

    1) 开放式IE

    2) 在地址栏中键入about:blank,然后按enter键

    3) 从收藏夹主菜单中选择-->添加收藏夹

    4) 在添加收藏夹弹出窗口中,输入名称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) 单击“确定”。单击弹出警报上的“是”

    10) 按照步骤3到5添加另一个收藏夹,将此收藏夹命名为GetXPATH2(步骤4)

    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,只需用鼠标选择元素。这需要在元素(链接、按钮、图像、复选框、文本等)开始之前单击鼠标左键,并将其拖动到元素结束。完成此操作后,首先从“收藏夹”菜单中选择收藏夹GetXPATH1,然后选择第二个收藏夹GetXPATH2。在这一点上,您将得到一个确认,点击允许访问按钮。现在打开一个记事本文件,右键单击并选择粘贴选项。这将为您提供所需元素的XPATH。

    IE不支持XHTML,因此我认为不太可能。尝试此操作后,当开发工具处于打开状态时,GetXPATH2生成错误
    SCRIPT5007:无法获取未定义或空引用的属性“createRange”
    。在另一个站点和元素上再次尝试,它成功了,因此似乎取决于您是否正确选择它/您尝试在其上进行操作的站点。可能只是我的设置?谢谢你的回答,但它在IE11上不起作用。我遵循了这些确切的步骤。您可以提供帮助吗?SCRIPT5007:无法获取未定义或空引用的属性“createRange”。。。在ie 11中出现此错误时,我尝试了两种方法,bookmarklet由于某些原因无法工作,并且我无法从单击选择元素选项或调试工具栏中获取xpath。