Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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 获取包含html标记的WebElement的文本_Java_Javascript_Html_Selenium - Fatal编程技术网

Java 获取包含html标记的WebElement的文本

Java 获取包含html标记的WebElement的文本,java,javascript,html,selenium,Java,Javascript,Html,Selenium,如何使用Selenium获取WebElement的内部HTML 这就是我迄今为止所尝试的: WebElement divData=driver.findElement(By.id("data")); divData.getText(); //returns empty OR divData.getAttribute("innerHTML"); //returns empty OR String script="return arguments[0].innerHTML";

如何使用Selenium获取WebElement的内部HTML

这就是我迄今为止所尝试的:

WebElement divData=driver.findElement(By.id("data"));  
divData.getText();  //returns empty   
OR  
divData.getAttribute("innerHTML"); //returns empty  
OR  
String script="return arguments[0].innerHTML";  
String result=(String) ((JavascriptExecutor)driver).executeScript(script,divData);

System.out.println(""+result); //empty
我从评论中看到 {quote}

你好,这里是学校 {quote}

在树状视图中表示上述内容:

因此,基本webdriver方法WebElement.getText应该适用于任何包含文本的位置正确的元素

因此,有两种可能找到webelement的文本:

我尝试从与上述div相关的所有转租儿童处获取文本:

List<WebElement> childsOfDiv =driver.findElements(By.cssSelector(#data>*));

for(WebElement iter: childsOfDiv){
    System.out.println(iter.getText());
}

希望这对你有用。

你好,这里是学校,你有什么问题?拿着部门的content@GrishmaOswal你确定数据存在吗。数据有任何HTML吗?您可以显示运行此操作所针对的标记吗?您正在使用webdriver吗?
String child1CSS="#data>b";
String child2CSS="#data>br";

public String getTextInvolvingJs(String cssLocator)
{
 JavascriptExecutor js = (JavascriptExecutor) driver;
 StringBuilder stringBuilder = new StringBuilder();

 stringBuilder.append("var x = $(\""+cssLocator+"\");");
 stringBuilder.append("return x.text().toString();")       ;

 String res= (String) js.executeScript(stringBuilder.toString());
 return res;

}

String foundText1= getTextInvolvingJs(child1CSS);
String foundText2= getTextInvolvingJs(child2CSS);