当前位置: 首页 > 知识库问答 >
问题:

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

锺离浩慨
2023-03-14

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

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

这将返回字符串值,但只有在IE浏览器中,它才在其他浏览器(即Firefox和chrome)中失败并工作。

我面临这个问题:

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

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

共有2个答案

凌运恒
2023-03-14

当从元素中获取文本时,我有几个问题,所以我得到的是属性“innerText”。请尝试以下代码:

if(element.getAttribute("innerText") != null)
    element.getAttribute("innerText").Trim();
else 
    element.getText().Trim();
衡玄裳
2023-03-14

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/

 类似资料:
  • 我正在使用Selenium(Java版本)测试一个基于OpenLayers的API。 我想测试一个使用的功能。控制修改功能。我想单击绘制的特征(SVG),然后拖动并检查它们是否存在、可见或隐藏。 我已经画了一个多边形,并且选择了它。见下图: 这些SVG元素的HTML如下所示: 假设我想选择红点。 我试过: 但是它总是返回一个空列表。 我做错了什么?有人能帮我吗? 多谢了。 编辑1-功能:垂直显示可

  • 问题内容: 我的网站上有一个选择控件。我正在使用页面对象与页面进行交互。如果我这样做(在我的课程下的前两行和我的方法中) 它以空指针失败。我也尝试了没有。 现在,如果我在我的方法中执行此操作,则一切正常,然后选择正确的项目 这是该控件的实际网页摘要(已编辑以保护无辜者) 让我说我可以解决我的问题, 但是 我不明白为什么“ 正常 ”路径无法正常工作。 问题答案: 那是因为该类具有以下构造函数: 见J

  • 我尝试用“拆分字符串,”使用StringTokenizer但不能获得整个值,令牌计数显示3但只打印两个元素,如果我尝试使用其他两个输入“ravi,Tuti,786”-相同的输出“ravi,Tuti,786,pincode”获得三个令牌而不是最后一个,我添加了下面的代码 输出为

  • 我在Java中使用selenium。我无法从组合框的html元素中获取文本。每次我在combobox中得到所选值的空白文本时。 下面是我的combobox的html结构。 我在元素中使用了以下xpath 请帮忙。 蒂亚。

  • 问题内容: 这是我想要达到的目的:检索页面上的所有产品并将它们放入数组中。这是我正在使用的代码: 它不适用于该产品。有关信息,在HTML代码中,img标签如下所示: 我一直在看这个PHPDOMDocument如何获取元素?,但我仍然不明白如何使其工作。 PS:我收到此错误: 调用未定义的方法 问题答案: 我终于使用了以下解决方案:

  • 问题内容: 我很难理解如何在PHP中使用DOMElement对象。我找到了这段代码,但是我不确定它是否适用于我: 基本上,我需要在DOM中搜索特定的,之后需要提取一个非标准的(即我用JS编写并使用的非标准的),以便可以看到它的价值。原因是我需要从中获取一份,而在HTML中则需要基于重定向。如果有人可以解释一下我如何为此目的使用DOMDocument,那将有所帮助。我真的很难理解发生了什么以及如何正