草庐IT

XPath 轴(Axes)

全部标签

javascript - 在 Firefox 和 Internet Explorer 中使用 XPath 选择 HTML 元素的不同结果

我正在尝试在文档中选择一个特定的HTML元素,对于我刚刚使用的firefox:xpathobj=document.evaluate(xpath,document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);效果很好。然而,当我尝试IE等效时:xmlDoc=newActiveXObject("Microsoft.XMLDOM");xmlDoc.async=false;xmlDoc.load(document);xmlDoc.setProperty("SelectionLanguage","XPath");xpathobj=xmlDoc.s

javascript - IE 中的 XPath 查询使用从零开始的索引,但 W3C 规范是从一开始的。我应该如何处理差异?

问题我正在转换目前仅适用于InternetExplorer的相对较大的Javascript,以便使其也适用于其他浏览器。由于代码广泛使用XPath,我们做了一些兼容性功能,使事情变得更容易functionselectNodes(xmlDoc,xpath){if('selectNodes'inxmlDoc){//useIElogic}else{//useW3C'sdocument.evaluate}}这大部分工作正常,但我们只是遇到了限制,即IE中的位置是从零开始的,但在其他浏览器使用的W3C模型中,它们是从一开始的。这意味着要获取第一个元素,我们需要在IE中执行//books[0],在

javascript - 需要帮助在 Iframe 弹出窗口中获取跨度的 XPath 表达式

需要获取iframe内span的xpath表达式。在获取Iframe弹出窗口内跨度的XPath表达式方面需要帮助。我可以获取iframe但无法在iframe中获取/html/body任何帮助将不胜感激   Cancel` 最佳答案 iframe中的元素实际上在另一个页面中。所以你应该首先找到该页面的地址,它是iframe的src值的值并加载它,然后访问该页面中的元素。 关于javascript-需要帮助在Iframe弹出窗口中获取跨度的XPath表达式,我们

javascript - XSLT 和 XPATH 在现代浏览器中的情况如何?

我正在编写javascript代码来遍历和操作深度嵌套的XML文档。对于现代浏览器,是否仍然需要像这样的跨浏览器库:sarissaajaxslt据我所知,如果不使用其中之一,在禁用ActiveX的IE中将不会有任何XPath。XSLT和XPath都需要一个简单的包装器来区分IE和w3cXMLDom。 最佳答案 只要您坚持使用XSLT1.0功能,我会说XSL和XPATH支持在所有浏览器上都运行良好,甚至可以追溯到IE6。话虽这么说,但客户端XSLT处理中有足够多的烦恼(包括直到最近firefox中针对使用客户端XSLT生成的文件的可怕

javascript - 如何在带有 JavaScript 的 Selenium RC 中使用 xpath?

我在IE6上使用SeleniumRC,XPath定位器非常棒减缓。所以我想看看javascript-xpath是否真的加快了速度。但是找不到关于如何使用原生x-的足够/清晰的文档路径库。我正在做以下事情:protectedvoidstartSelenium(StringtestServer,StringappName,StringtestInBrowser){selenium=newDefaultSelenium("localhost",4444,"*"+testInBrowser,testServer+"/"+appName+"/");echo("seleniuminstancecr

javascript - 另一个网站/跨域上的元素的Xpath

我想获取网站(我自己的域)上某个元素的XPATH,我使用JavaScript代码获取了它,如this中所述回答。现在我想点击按钮,这将打开一个url(跨域)窗口,当用户点击该窗口上的一个元素时,它的XPATH被捕获。我尝试使用iframe做同样的事情,但没有成功。现在我的问题是有办法获取另一个网站/跨域元素的XPATH? 最佳答案 抱歉,如果没有其他(x域)站点的合作,这是不可能的。出于安全原因,浏览器不允许访问x域文档(包括iframe)的DOM。如果您与其他站点合作,他们可以加载您的javascript文件,然后使用postme

报错 AttributeError: ‘WebDriver‘ object has no attribute ‘find_elements_by_xpath‘ 解决方法

报错AttributeError:‘WebDriver’objecthasnoattribute‘find_elements_by_xpath’解决方法汉:AttributeError:“WebDriver”对象没有属性“find_elements_by_xpath”快捷操作:可选择文章目录来快速直达查看文章目录报错AttributeError:'WebDriver'objecthasnoattribute'find_elements_by_xpath'解决方法前言一、解决方法1二、解决方法2前言为什么会报这个错误提示呢?问题解析:使用Selenium库版本语法输写格式不同引起的问题查看库终端

xpath - 在 Go 中将 xpath 节点转换回 html 标记

import("fmt""gopkg.in/xmlpath.v2""log")...path:=xmlpath.MustCompile("//div[@id='23']")tree,err:=xmlpath.ParseHTML(reader)iferr!=nil{log.Fatal("HTMLparsingerror,maybenotwellformed",err)}iter:=path.Iter(tree)foriter.Next(){fmt.Println(iter.Node().String())//returnsonlythevaluesofthetext-node}...有没

java - XPath 2.0 在节点集中的每个节点上使用函数

我有以下xml:a1b1a2b2a3b3.....我需要加入“a”和“b”字段(结果:arr[0]="a1b1",arr[1]="a2b2",arr[2]="a3b3"...arr[N]="aNbN"使用XPath1.0我只能在第一项上做这样的事情"concat(/root/table/a,/root/table/b)"我将始终得到STRING结果:“a1b1”,而不是NODESET。我已经尝试使用XPath2.0(我使用net.sf.saxon,Saxon-HE:9.5.1-4)和foreach,但没有成功:"for$itemin/root/table/areturnconcat($

xml - Xpath 获取当前节点的值

我有以下xml并且想要获取属性(identifier='content')属性(identifier='id')的值与id510在xpath的帮助下。510Test1100Test2...我试过:product[@id='1']/row/attribute[@identifier='id'andtext()='510']但正如我所知,这只会返回带有identifier='id'的属性的内容。如何获取标识符'id'=510的identifier='content'的值?感谢您的帮助。 最佳答案 您正在为id为510的行查找名为cont