如何通过selenium

时间:2018-02-10 06:05:34

标签: java html selenium xpath selenium-webdriver

我正在尝试获取文本“1个文件已成功上传。”从下面的代码

<div class="formbuttons">
<h3 id="res" class="demo" style="color: rgb(255, 255, 255); display: block;">
<center>1 file <br>has been successfully uploaded.</center>
</h3>
</div>

我正在使用:

WebElement element = driver.findElement(By.xpath("//[@id=\"res\"]/center"));
String strng =  element.getText();
System.out.println(strng);

但我没有得到任何输出。这有什么不对?

3 个答案:

答案 0 :(得分:1)

tagname中没有提及xpath。试试这个:

WebElement element = driver.findElement(By.xpath(".//*[@id='res']/center"));

此外,我在使用HTML时遇到的一件事是有些HTML格式化程序告诉我它不是格式良好的HTML。因此,如果可能,您可以<br/>代替<br>。只是一个单挑。

答案 1 :(得分:0)

根据您提供的HTML,您可以使用以下代码块打印 1文件已成功上传。

String my_string = driver.findElement(By.xpath("//div[@class='formbuttons']/h3[@class='demo' and @id='res']/center")).getAttribute("innerHTML");
String[] stringParts = my_string.split(Pattern.quote("<br>"));
String partA = stringParts[0];
String partB = stringParts[1];
System.out.println(partA + partB);

答案 2 :(得分:0)

    WebElement element = driver.findElement(By.cssSelector("#res > center"));
    String text =  element.getAttribute("innerHTML");
    System.out.println(text);
“innerHTML”为我工作。