Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.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
Java 如何使用xpath从子节点打印文本?_Java_Selenium_Xpath_Selenium Webdriver - Fatal编程技术网

Java 如何使用xpath从子节点打印文本?

Java 如何使用xpath从子节点打印文本?,java,selenium,xpath,selenium-webdriver,Java,Selenium,Xpath,Selenium Webdriver,xpath: /*[@id='full-scorecard']/div[2]/div/table[1]/tbody/tr[3]/td[2]/child::text() 上面的代码只返回一个webelement,我无法打印文本 WebElement txt= driver.findElement(By.xpath( "//*[@id='full-scorecard']/div[2]/div/table[1]/tbody/tr[3]/td[2]/child::text()")); Syst

xpath:

/*[@id='full-scorecard']/div[2]/div/table[1]/tbody/tr[3]/td[2]/child::text()
上面的代码只返回一个webelement,我无法打印文本

WebElement txt= driver.findElement(By.xpath(
   "//*[@id='full-scorecard']/div[2]/div/table[1]/tbody/tr[3]/td[2]/child::text()"));

System.out.println(txt);
HTML:

12.6 抓住休斯 73/4

这应该可以:

WebElement txt= driver.findElement(By.xpath("//*[@id='full-scorecard']/div[2]/div/table[1]/tbody/tr[3]/td[2]"));

System.out.println(txt.getText());

Selenium webdriver返回元素对象下的所有测试,包括子元素

所以在阅读之后,您应该从文本中删除整数值

谢谢
Sadik

在selenium中,
By.XPath()定位器中使用的XPath表达式必须指向web元素。你无法通过这种方式匹配文本节点。那么如何获取文本“捕获Hughes”??12.6抓到Hughes 73/4
也许你应该像@alecxe中建议的那样在WebElement上尝试
getText()
,谢谢,这很有帮助。不清楚“web元素”是否总是指DOM元素,而不是其他类型的DOM节点。我发现Selenium XPath支持选择属性(例如
//a[contains(@href,#id1')]/@class
),因此显然“web元素”并不总是DOM元素。不幸的是,Selenium的文档不是很系统或全面。这给了我完整的文本12.6捕获Hughes 73/4,但我试图单独捕获Hughes。欢迎使用Stack Overflow!虽然这个答案可能是正确和有用的,但如果你想解释一下它是如何帮助解决问题的,那就更好了。如果有一个变化(可能是无关的)导致它停止工作,并且用户需要了解它曾经是如何工作的,那么这在将来变得特别有用。