Tag: xpath

元素在XPath Checker中找到,但在Selenium中找不到

我有以下XPath: //div[contains(@id, ‘box’)]/div/h4/small/a[contains(@href, ‘google’)]/@href 当我在XPath Checker(Firefox扩展)中试用这个XPath时,它始终可以正常运行。 但是当我在Selenium中执行以下操作时: System.out.println(selenium.getAttribute(“//div[contains(@id, ‘box’)]/div/h4/small/a[contains(@href, ‘google’)]/@href”)); 它一直给我以下日志错误: 14:30:56.311 INFO – Got result: OK on session 5a1401d374a04779bbe6f7fe9a0b4536 14:30:56.315 INFO – Command request: getAttribute[//div[contains(@id, ‘box’)]/div/h4/small/a[contains(@href, ‘google’)]/@href, ] on session 5a1401d374a04779bbe6f7fe9a0b4536 14:30:56.372 INFO – Got result: ERROR: Element //div[contains(@id, ‘box’)]/div/h4/small/a[contains(@href, ‘google’)]/ not found on session 5a1401d374a04779bbe6f7fe9a0b4536 我疯了解决这个问题。 有没有人在我的代码行中看到任何错误?

Jaxen仍然得到积极的支持/发展吗?

Jaxen看起来像一个很好的/可扩展的XPath项目,但它似乎没有积极开发,也没有发布日期。 即使是邮件列表url也已死亡。 任何人都有这方面的信息?

在java中评估字符串上的xpath并返回结果字符串的简单方法是什么

一个简单问题需要一个简单的答案。 例如: String xml = “toyota”; String xpath = “/car/manufacturer”; assertEquals(“toyota”,evaluate(xml, xpath)); 如何以简单易读的方式编写evaluate方法,该方法适用于任何给定的格式良好的xml和xpath。 显然,有很多方法可以实现,但大多数人似乎非常冗长。 我缺少的任何简单方法/库可以实现这一目标吗? 对于返回多个节点的情况,我只想要字符串表示。

子树上的xpath搜索

我需要将xpath节点搜索限制为子树。 我目前正在使用下面的方法,但它会在整个文档中搜索我是否给它文档或我要搜索的节点。 private NodeList findNodes(Object obj,String xPathString) throws … { XPath xPath = XPathFactory.newInstance().newXPath(); XPathExpression expression = xPath.compile(xPathString); return (NodeList) expression.evaluate(obj, XPathConstants.NODESET); } 我现在使用的解决方案是创建新文档,附加节点并搜索新文档,然后合并。 我想改进这个。 可以吗? 我正在使用的XPath是//nodeName 。

返回XPath正确的顺序(文档顺序的insted)

所以我已经在我的大学里给了一个“修复”XPath的任务,让它以正确的顺序返回节点。 我一直试图找到一种方法来编写一个很长的代码,并将每个表达式分解为很少的和平并再次将它重新组合在一起。 我想过一些想法,但我需要帮助让它们发生:) 在XPath jar中找到对节点进行排序并删除它的方法 – 问题是我不知道是否可以看到XPath jar代码,并且没有在网上找到它.-如果你可以指向我,那就太棒了! 我发现这个看起来应该做的选项http://cafeconleche.org/books/xmljava/chapters/ch16s06.html 但它要求dom实现XPath 3.0,我无法在任何地方找到dom – 任何想法,如果有这样的事情? 如果您有任何其他想法,我很乐意听到! 例如:对于这个xml hello world !!! 这个表达式:/ library / book [3] / preceding-sibling :: book我得到了 book1 book2 绝于: book2 book1 只要我在java程序中执行它,我就可以使用任何东西 谢谢你的帮助 :)

如何使用Xpath检索XML树节点之后的节点?

首先,我必须说我发现Xpath是一个非常好的解析器,我认为将它与其他解析器进行比较时非常强大。 给出以下代码: DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); domFactory.setNamespaceAware(true); DocumentBuilder builder = domFactory.newDocumentBuilder(); Document doc = builder.parse(“input.xml”); XPath xpath = XPathFactory.newInstance().newXPath(); 如果我想找到第1轮和第1轮的first节点,请点击此处: 1 abd11 0 25 0.31 25 50 0.04 50 75 0.19 75 100 0.46 vvv1133 60 62 1.0 2 eee 0 -25 0.31 -25 -50 0.04 -50 -75 0.19 -75 -100 0.46 cc -60 -62 […]

带有not()和ends-with()的Xpath错误

我有以下Xpath表达式: //*[not(input)][ends-with(@*, ‘Copyright’)] 我希望它能给我所有元素 – 输入除外 – 任何以“Copyright”结尾的属性值。 我使用webDriver.findElements(By.xpath(expression))在Selenium 2 Java API中执行它并获得以下错误: 表达式不是法律表达 但这些表达没有问题: //*[not(input)][starts-with(@*, ‘Copyright’)] //*[ends-with(@*, ‘Copyright’)] 有任何想法吗?

如何在使用webdriver查找元素时在xpath中使用撇号(’)?

我需要在我的xpath表达式中使用撇号(’),我需要在使用webdriver查找元素时使用它 我需要使用下面的Xpath表达式 //input[@text=”WE’d like to hear from you”] 在find元素函数中使用上面的表达式时,我用单引号替换双引号 driver.findelements(By.xpath(“//input[@text=’WE’d like to hear from you’]”))

当isNameSpaceAware和isValidating为“true”时,XPath为“Node”返回null

当我试图解析XML文件时,我得到一个空节点。 XPath xPath = XPathFactory.newInstance().newXPath(); Node node = null; try { node = (Node) xPath.evaluate( “/mynode”, doc, XPathConstants.NODE); 我只面对这个问题 – 1. DocumentBuilderFactory-setNameSpaceAware为true 2. DocumentBuilderFactory- setValidating为true。 如果这些设置为false,那么我得到的结果是正确的。 任何人都可以帮助我理解将这些属性设置为false的关系是什么? (我已经查过这个问题了,但这并不能说明我的疑问) 这是xml- TargetName desc goes here my.this my.ExampleObject id ZZZ ind X childnodename description goes here ALL ALL AAA code1 code2

在Scala中执行复杂的XPath查询

在scala中使用哪种最简单的API来对文档执行以下XPath查询? //s:Annotation[@type=’attitude’]/s:Content/s:Parameter[@role=’type’ and not(text())] //s:Annotation[s:Content/s:Parameter[@role=’id’ and not(text())]]/@type ( s被定义为特定命名空间的昵称) 我在Scala的XML库上找到的唯一文档没有关于执行复杂的实际XPath查询的信息。 我曾经为此目的(在Java中)喜欢JDOM ,但由于JDOM不支持generics,因此在Scala中使用会很痛苦。 (Java的其他XML库在Java中往往更加痛苦,但我承认我不了解真实情况。)