click(new XPath("/HTML[1]/BODY[1]/DIV[1]/DIV[2]/DIV[1]/DIV[2]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/DIV[1]/SPAN[1]/SPAN[2]/#text[1]"));
..或
var foo = document.evaluate("/HTML[1]/BODY[1]/DIV[1]/DIV[2]/DIV[1]/DIV[2]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[1]/DIV[2]/DIV[1]/SPAN[1]/SPAN[2]/#text[1]", document, null, XPathResult.ANY_TYPE,null);
结果:
[Exception... "The expression is not a legal expression." code: "51" nsresult: "0x805b0033 (NS_ERROR_DOM_INVALID_EXPRESSION_ERR)" location: "chrome://chickenfoot/content/chickenscratch.js Line: 2"]
Firefox 3.6,由Applefoot的XPath生成器生成的XPath,位于GMail的按钮'Older'。
这种XPath是什么以及它被打破的原因?
答案 0 :(得分:1)
没有#text
元素。要获取文本内容,请使用text()
,即
"/HTML[1]/BODY[1]/..../SPAN[2]/text()"