我使用下面的一段代码来获取某个特定定位器的文本。
WebElement ele=driver.findElement(By.cssSelector("Some locator"));
ele.getText();
这将返回字符串值,但仅在IE浏览器中失败并在其余浏览器中工作,即Firefox和Chrome。
我正面临这个问题:
org.openqa.selenium.WebDriverException:无法获取元素文本 (警告:服务器未提供任何堆栈跟踪信息)
请帮助我解决这个问题,IE浏览器中的这个异常也会非常不一致,有些时候它会通过,而有些时候会失败相同的代码。
答案 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
答案 1 :(得分:0)
从元素中获取文本时我遇到了一些问题,因此我得到了属性" innerText"代替。请尝试以下代码:
if(element.getAttribute("innerText") != null)
element.getAttribute("innerText").Trim();
else
element.getText().Trim();