java - 如何从跨度分隔的标签中获取动态文本

标签 java selenium selenium-webdriver

<Title id ="10" name="Title">
Name
<span>:</span>
Shanthi --// dynamic value
</Title>

String s = driver.findElement(By.id('10')).getText();

预期:姓名 Shanthi

实际:姓名

如何获取全文?我也尝试了 getAttribute("innerHtml") 但没有用...

TIA

最佳答案

你能试试这个吗:

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

JavascriptExecutor js = (JavascriptExecutor)driver;

String firstname= (String) js.executeScript("return arguments[0].childNodes[0].textContent", element);

JavascriptExecutor js = (JavascriptExecutor)driver;

Object firstname= js.executeScript("var value = document.evaluate(\"//table[@id='10']/text()\",document, null, XPathResult.STRING_TYPE, null ); return value.stringValue;");
String Firstname=firstname.toString();

或安德鲁建议

String name = driver.findElement(By.xpath("//*[@id='10']")).getAttribute("innerHTML");
String[] items = html.split("<span .*?</span>");

关于java - 如何从跨度分隔的标签中获取动态文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62056576/

相关文章:

java - 如何使用 Saxon XSLT 转换每个 xml 节点?

java - 如何使用 Selenium 和 Java 自动访问附加用户提供的语言的 url?

python - python 中的selenium - 一次超时会导致所有后续请求超时

html - Jenkins 中的故障安全 html 报告

python - 如何找到Selenium WebDriver的XPath?

javascript - 我无法通过 ID、名称或链接文本或 WebDriverWait() 在 Selenium 中找到元素。每次抛出 "No such error"异常

java - 无法输入 java 控制台

java - 我无法从模型中获取数据

java - 如何逐行扫描输入整数?

java - 如何使用属性 'display:none' 获取 XPath 的 getText()