java - 如何从由跨度分隔的标签中获取动态文本
问题描述
<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>");
推荐阅读
- php - 从 Heroku 部署 Github 分支的问题
- json - 遍历 React JS 中的嵌套 JSON
- powershell - 使用 PowerShell 将 Google 表格数据下载到本地 CSV - 凭据问题
- javascript - 显示文本 HTML、CSS、JS 的滚动选项
- winapi - 是否可以使用 winapi c++ 子类化 Web 浏览器?
- ubuntu - 如何在 COOJA 中禁用警告
- mysql - 检查mysql中数学表达式的结果
- c - 不支持使用 FTDI 电缆的 RS485 通信
- python - Python:在静态方法中调用类变量时出错
- java - 无法转换为 androidx.appcompat.widget.Toolbar