Internet explorer 如何快速检查xpath在IE中是否有效?

Internet explorer 如何快速检查xpath在IE中是否有效?,internet-explorer,xpath,selenium,Internet Explorer,Xpath,Selenium,我正在评估使用Selenium对我公司的Asp.net Webforms应用程序执行自动测试。由于大多数html ID都是自动生成的,所以我试图依靠XPath与我的页面交互 正如我所知道的xpath一样,我在尝试精确定位单击此元素所需的xpath时遇到了问题。更改我的编码xpath、编译我的C#应用程序、加载应用程序、运行应用程序,然后执行Selenium异常的过程变得非常烦人。我需要找到一些方法来快速确定xpath是否有效(即存在) 不幸的是,他们将这个网站编码为只在IE中工作,所以我只能访问

我正在评估使用Selenium对我公司的Asp.net Webforms应用程序执行自动测试。由于大多数html ID都是自动生成的,所以我试图依靠XPath与我的页面交互

正如我所知道的xpath一样,我在尝试精确定位单击此元素所需的xpath时遇到了问题。更改我的编码xpath、编译我的C#应用程序、加载应用程序、运行应用程序,然后执行Selenium异常的过程变得非常烦人。我需要找到一些方法来快速确定xpath是否有效(即存在)

不幸的是,他们将这个网站编码为只在IE中工作,所以我只能访问这些

如果有人能为我提供一种在IE中测试xpath的快速方法,我将非常感激

使用

这是一个受欢迎的工具,多年来,它向成千上万的开发人员传授了XPath的有趣方法

首先加载一个XML文件,然后可以输入任何XPath表达式,并在XML文档中立即看到所选节点。甚至对于有经验的开发人员来说,还有更多的功能


可以下载XPath可视化工具

这篇StackOverflow文章有一些链接,指向在IE中查找XPath的技术

我特别喜欢这篇文章中的解决方案:

但是,为了测试/验证您的XPath,无论是从此类工具中找到的还是您自己定义的,您可能希望执行类似的操作(如果您正在考虑类似FirePath为XPath/CSS有效性验证提供的内容):

因为我知道XPath,所以我在尝试精确定位 我需要点击这个元素。变化的过程 我的编码xpath,编译我的C#应用程序,加载应用程序,运行应用程序, 那么,把硒异常排除在外就变得很烦人了

我就是为了这个目的而创作的。 它可以与SeleniumWebDriver支持的所有浏览器一起工作,并允许调试、测试和保存定位器以供进一步编辑


下载页面记录器时,请将Internet Explorer驱动程序放在IE浏览器上可执行文件附近:

Do F12并复制html。然后打开记事本,粘贴html并将其另存为.html文件。最后您得到了html页面,然后您可以在Firefox fox浏览器中打开保存的文件,用firebug或firepath验证xpath。

您可以使用Fire-IEBrowser.xlsm作为google项目应用程序

这将帮助您在IE中找到web元素的XPath

你可以找到这个应用程序


此外,您可以在这个

中找到更好的解决方案。您可以使用我的小java项目Browsermator,首先运行/检查您的例程:这样可以省去一直重新运行构建的麻烦。

如何将当前页面导出为xml?因为我要寻找的元素在ajax出现之前不会出现在页面上,所以我不能只导出视图->Source@KallDrexx:您需要一些浏览器工具来实现这一点,这不是XPath问题。虽然这是真的,但并不能解决我在原始问题中提出的问题。我需要一些方法在IE中获取我的页面,并验证Xpath是否可以使用。@KallDrexx:Xpath可视化工具本身就是一个IE html页面。这意味着XPath表达式是在IE下计算的。对于通过AJAX接收的XML,您需要使用类似于JS调试器的工具,以便在接收AJAX响应的位置中断,然后获取XML。您最初的问题是如何验证XPath表达式是否从XML文档中选择了所需的节点,而不是如何获取该XML文档。后者根本不是XPath问题,XML不是通过ajax接收的,ajax是在操作之后从DOM中添加和删除元素。这些新节点正是我需要弄清楚XPath的目的,我找不到任何方法来导出IE中的post-ajax HTML,以便在这样的工具中使用。您尝试过使用书签吗?请看这里: