无法使用selenium webdriver获取元素文本

时间:2016-03-22 07:37:57

标签: java python selenium testing selenium-webdriver

我使用下面的一段代码来获取某个特定定位器的文本。

WebElement ele=driver.findElement(By.cssSelector("Some locator"));
ele.getText();

这将返回字符串值,但仅在IE浏览器中失败并在其余浏览器中工作,即Firefox和Chrome。

我正面临这个问题:

  

org.openqa.selenium.WebDriverException:无法获取元素文本   (警告:服务器未提供任何堆栈跟踪信息)

请帮助我解决这个问题,IE浏览器中的这个异常也会非常不一致,有些时候它会通过,而有些时候会失败相同的代码。

2 个答案:

答案 0 :(得分:1)

Jsoup是一个很棒的html解析器,当你使用selenium时它们可以使用Jsoup,它们可以相互结合。

String web_page = driver.getPageSource();//selenium driver is getting the whole page
Document xml_doc = Jsoup.parse(web_page); //jsoup parsing web page
String str= xml_doc.getElementById("Some locator").text();//get text and assign it to str

http://jsoup.org/

答案 1 :(得分:0)

从元素中获取文本时我遇到了一些问题,因此我得到了属性" innerText"代替。请尝试以下代码:

if(element.getAttribute("innerText") != null)
    element.getAttribute("innerText").Trim();
else 
    element.getText().Trim();