当前位置: 首页 > 面试题库 >

如何使用硒获取WebElement文本

艾凌龙
2023-03-14
问题内容

请参阅以下元素:

<div class="success"><button class="close" data-dismiss="alert" type="button">×</button>
User 'MyUser' deleted successfully</div>

找到我的元素:

driver.findElement(By.cssSelector("div.success")

因此,找到后div并使用带有selenium getTextgetAttribute("innerHTML")return 的文本:

×
User 'MyUser' deleted successfully

所以我的问题是如何在没有此情况的情况下仅获得最后一行 x


问题答案:

所需的文本出现在文本节点中,并且无法直接使用Selenium检索,因为它仅支持元素节点。

您可以删除开头:

String buttonText = driver.findElement(By.cssSelector("div.success > button")).getText();
String fullText = driver.findElement(By.cssSelector("div.success")).getText();
String text = fullText.substring(buttonText.length());

您还可以innerHTML使用正则表达式从中提取所需的内容:

String innerText = driver.findElement(By.cssSelector("div.success")).getAttribute("innerHTML");
String text = innerText.replaceFirst(".+?</button>([^>]+).*", "$1").trim();

或使用一段JavaScript:

String text = (String)((JavascriptExecutor)driver).executeScript(
    "return document.querySelector('div.success > button').nextSibling.textContent;");


 类似资料:
  • 问题内容: 请参阅以下元素: 找到我的元素: 因此,找到后并使用带有selenium 或return 的文本: 所以我的问题是如何只获得没有这一点的最后一行 问题答案: 所需的文本出现在文本节点中,并且无法直接使用Selenium检索,因为它仅支持元素节点。 您可以删除开头: 您还可以使用正则表达式从中提取所需的内容: 或使用一段JavaScript:

  • 请参阅以下元素: 找到我的元素: 因此,在找到这个并使用selenium和或获取文本后,返回: 所以我的问题是如何只得到最后一行没有这个

  • 我使用了以下代码, 这会引发错误“表达式不是合法表达式”。“代码:“12”nsresult:“0x805b0033(SyntaxError)”位置:”“]”。 当我缩小搜索范围到 它工作正常,我得到了特定行中的所有文本。然而,当我将其扩展到特定于第1个代码中所示的列时,我得到了错误。 html代码段,

  • 我在写一个自动测试。多亏了这本指南:sukesh15。gitbooks。木卫一 以下是我的Page类的摘录: 我必须使用id“display”: 在@FindBy声明中(给WebElement按钮显示) 在网络驱动等待 为了避免这种情况,我创建了一个恒定的按钮显示ID,ID为: 有没有更好的方法,比如像这样的WebElement myDynamicElement=(new WebDriverWai

  • 问题内容: 我想找到使用XPath基于文本的任何WebElement。 基本上,我要通过文本检索的WebElement包含一个输入元素。 我目前正在使用, 找不到上面的WebElement,但通常可以检索所有 其他Web元素。 甚至, 没有给我任何结果。虽然我对精确的文字匹配感兴趣。 我正在寻找一种通过文本来查找Web元素的方法,该文本 对Web元素内部存在的元素不重要。如果文本匹配,则应返回 W

  • 我想找到任何基于使用XPath的文本的WebElement。 我感兴趣的网页元素, 它的HTML, 基本上,我试图通过文本检索的WebElement包含一个输入元素。 我目前使用的, 它找不到上面的WebElement,但通常可以检索所有其他web元素。 即使 没有给我任何结果。虽然我对精确的文本匹配感兴趣。 我正在寻找一种通过文本查找web元素的方法,该文本与web元素中存在的元素无关。如果文本