如何从xhtml获取文本
如何从xhtml获取文本,html,selenium,selenium-webdriver,xhtml,Html,Selenium,Selenium Webdriver,Xhtml,章节信息: 姓名: rr 类型: 剖面类型 章节列表: 对 地位: 第节: 截面条件 很难将这些字段分开,因为它们位于同一个span节点下。我可以看到两种解决方法。 1.使用节点的索引作为锚点 Name: "//span[@id='lblSectionInfo']/font[1]" Type: "//span[@id='lblSectionInfo']/font[2]" Section List: "//span[@id='lblSectionInfo']/font[3]" 2.使用Ja
章节信息:
姓名:
rr
类型:
剖面类型
章节列表:
对
地位:
第节:
截面条件
很难将这些字段分开,因为它们位于同一个span节点下。我可以看到两种解决方法。1.使用
节点的索引作为锚点
Name: "//span[@id='lblSectionInfo']/font[1]"
Type: "//span[@id='lblSectionInfo']/font[2]"
Section List: "//span[@id='lblSectionInfo']/font[3]"
2.使用JavaScript查找文本节点以获取字段名,然后使用Selenium查找
节点以获取其值。最后,将它们映射到一起
function getTextNode(rootNode) {
var nodes = rootNode.childNodes;
var fieldNames = [];
var count=0;
for (var i = 0; i < nodes.length; i++) {
if ((nodes[i].nodeType == Node.TEXT_NODE)) {
if(nodes[i].textContent.trim().indexOf(':')>0) {
let text = nodes[i].textContent.trim();
fieldNames[count] = text.substring(0,text.length-1);
}
}
}
return fieldNames;
}
函数getTextNode(rootNode){
var nodes=rootNode.childNodes;
var fieldNames=[];
var计数=0;
对于(var i=0;iHTML中没有只读元素。请完整显示这些语句您要传递给
getText()
的是什么?您的xpath
选择器是什么?我希望这将帮助您发布您正在使用的实际代码。示例不是格式良好的XML。可能导致不适用的原因是某个地方的错误处理程序。第一个解决方法对我来说非常适合。蒂恩斯·巴班。