Tag: xpath

java XPath api参考

java标准教程http://download.oracle.com/javase/tutorial/jaxp/xslt/xpath.html解释了XPath标准本身,但没有解释XPath的java api。 我需要: 1)我知道XPath语法,即如何引用/ person / dateofbirth元素。 什么是java api来选择这个节点并获取它的文本内容? 2)我可以通过XPath获取DOM对象吗? 3)某个地方是api的官方教程,而不是xpath本身? 真正的问题是第三点,因为问题是以官方和第一手资料为基础。

Java XPath API – 获取表示子树的字符串

我的问题不是关于xpath语法,而是与围绕xpath的java API有关。 考虑以下xml: somevalue othervalue stuff 我可以使用以下代码轻松地使用xpath获取元数据字段: XPath xp = XPathFactory.newInstance().newXPath(); Node node = (Node) xp.evaluate(“/wrapper/metadata/somefield”, xmlDoc, XPathConstants.NODE); String somefield = node.getFirstChild().getNodeValue(); 我正在努力学习如何从标签开始获取表示xml 子树的字符串。 换句话说,我编写什么代码来获取一个字符串,打印出来时会打印出以下内容? xpath查询将是“/ wrapper / data / some”,但我不知道如何正确使用xpath api。 stuff

Java Selenium WebDriver无法找到表单字段

我正在测试一个注册页面,我尝试了名称,xpath,id,类,似乎没有任何工作。 这是我的selenium代码 driver.findElement(By.id(“pushMenu”)).click(); Thread.sleep(2000); driver.findElement(By.linkText(“Register”)).click(); Thread.sleep(2000); WebElement l = driver.findElement(By.name(“name”)); 这是我正在尝试访问的表单标记 显式等待尝试代码: WebDriverWait wait = new WebDriverWait(driver, 10); WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.name(“name”))); driver.findElement(By.name(“name”)).sendKeys(“Testing100”);

Selenium Web驱动程序填充字段可保存输出

我绝对是selenium的新人,所以对于noob问题感到抱歉。 但我无法在谷歌找到它。 所以,我有一个简单的javacode: public static void main(String[] args) throws Exception { // The Firefox driver supports javascript WebDriver driver = new FirefoxDriver(); // Go to the Google Suggest home page driver.get(“http://tudakozo.telekom.hu/main?xml=main&xsl=main”); // Enter the query string “Cheese” WebElement query = driver.findElement(By.xpath(“id(‘searchByName’)/x:input[2]”)); 网页顺便说一句:[link] [1]我想填写左框。 为此,我想要一些selenium命令:s.fill(这里是xpath,“填充文本”) 对于xpath,我使用firefox插件并找到xpath:我无法发布图片,因此有一个链接: http ://tinypic.com/view.php?pic = 5poglt&s = 8#.U_sw-vl_tVY 然后我将得到somecapthca破坏它在当地的未来,但如果oyu有建议我接受:)无论如何,我需要下载图片并手动填写它。 然后点击“ keresés ”按钮xpoath:id(’searchByName’)/ […]

Java xPath – 从XML提取子文档

我有一个XML文档如下: … 我想从中提取DocumentBody元素的内容为String,原始XML文档: 使用xPath,它可以很简单: /DocumentWrapper/DocumentBody Unfrotunatelly,我的Java代码不想按我的意愿工作。 它返回空行而不是预期结果。 有没有机会这样做,或者我必须返回NodeList然后从中生成xml文档? 我的Java代码: XPathFactory xPathFactoryXPathFactory.newInstance(); XPath xPath xPathFactory.newXPath(); XPathExpression xPath.compile(xPathQuery); String result = expression.evaluate(xmlDocument);

Selenium – 单击切换元素

我对selenium很感兴趣。 基本上我想单击以下元素来切换元素: 它变为 : 之后我只想填写表格并测试其输出。 我为单击此元素编写的方法: public void clickAtListView() { WebElement listView = driver.findElement(By.xpath(“//div[@class=’view-icon fadeIn’]”)); listView.click(); } 但是,我得到了: Exception in thread “main” org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with Command duration or timeout: 50 milliseconds 任何建议为什么我得到这个例外? 我感谢你的回答! UPDATE 在我看来,当我放入Thread.sleep(10000);时会显示list元素Thread.sleep(10000); 之前: 但是,我仍然得到例外;(

基于动态正则表达式的XPath搜索

我有一个类似下面的XML: AMA* AMAZON EBAY * 我想查询并找出与提供的输入匹配的所有设计。 如果我指定EBAY我希望xpath返回节点名称= DEST3和DEST4(它不关心值)但是如果我指定AMAZON它需要返回DEST1,DEST2和DEST4作为AMA *在DEST1中支持通配符。 到目前为止,我的XPath看起来像这样: /目的地[(From =” ‘或From =’*’))] / @ name 如果指定了input,则动态创建XPATH表达式并将传入值插入 领域 除了From之外,我的XML中还有其他元素。 感谢是否有人可以指出这一点。 谢谢,Manglu

xPath表达式:获取元素,即使它们不存在

我有这个xPath表达式,我将其放入htmlCleaner: //table[@class=’StandardTable’]/tbody/tr[position()>1]/td[2]/a/img 现在,我的问题是它发生了变化,有时候/ a / img元素不存在。 所以我想要一个能够获得所有元素的表达式 //table[@class=’StandardTable’]/tbody/tr[position()>1]/td[2]/a/img 当/ a / img存在时,和 //table[@class=’StandardTable’]/tbody/tr[position()>1]/td[2] 当/ a / img不存在时 有谁有任何想法如何做到这一点? 我在另一个问题中找到了一些看起来可能对我有帮助的东西 descendant-or-self::*[self::body or self::span/parent::body] 但我不明白。 提前致谢。

如何通过* default * namespace XmlObject.selectPath()?

我找到了查询XmlObject的方法,以返回包含特定命名空间的元素: XmlObject xobj = XmlObject.Factory.parse( “\n” + ” \n” + ” 12345\n” + ” \n” + “”); // Use xpath with namespace delcaration to find element. XmlObject bobj = xobj.selectPath( “declare namespace B=’testB'” + “.//B:b”)[0]; 这非常简单,可以用于其他命名的命名空间,但是如何为默认命名空间执行相同操作? 即xmlns=像这样: XmlObject xobj = XmlObject.Factory.parse( “\n” + ” \n” + ” 12345\n” + ” \n” + “”); xmlbeans文档仅引用命名的命名空间…有没有办法完成我要找的东西?

解析XML文件以获取所有命名空间信息

我希望能够从给定的XML文件中获取所有命名空间信息。 例如,如果输入XML文件类似于: 1 bar foo 00.00 USD 11.11 AUD 2 some name some description 00.01 USD 我希望输出看起来像这样(在这种情况下以逗号分隔): create, ns1, http://predic8.com/wsdl/material/ArticleService/1/ article, ns1, http://predic8.com/material/1/ price, ns1, http://predic8.com/material/1/ id, ns1, http://predic8.com/material/1/ 重要笔记: 重要的是我们还要考虑在特定命名空间内定义的子节点,但其定义可以在更高节点处定义。 例如,我们仍然想要获取节点ns1:id ,我们需要追溯到父节点ns1:article以发现命名空间url是xmlns:ns1=’http://predic8.com/material/1/ 我在Java中实现,所以我不介意基于Java的解决方案,甚至基于XSLT的解决方案似乎都是合适的。