Python xpath可以在google chrome扩展中工作,但不能在lxml中工作
我试图阅读一些我正在用lxml废弃的表的标题。我正在使用Google Chrome的XPath助手扩展来验证我的XPath,在本例中是:Python xpath可以在google chrome扩展中工作,但不能在lxml中工作,python,xpath,Python,Xpath,我试图阅读一些我正在用lxml废弃的表的标题。我正在使用Google Chrome的XPath助手扩展来验证我的XPath,在本例中是: r"//tr/td[text()="+UNIQUE_ID+r"]/../../../../../b/following-sibling::text()" 它是有效的。但是,在python代码中,tree.xpath(“上面的模式”)返回一个空列表。我认为奇怪的是,在扩展中路径起作用,但在python代码中却不起作用。我认为扩展通常会突出显示匹配的案例,但在我
r"//tr/td[text()="+UNIQUE_ID+r"]/../../../../../b/following-sibling::text()"
它是有效的。但是,在python代码中,tree.xpath(“上面的模式”)返回一个空列表。我认为奇怪的是,在扩展中路径起作用,但在python代码中却不起作用。我认为扩展通常会突出显示匹配的案例,但在我的示例中没有,这也很尴尬。表中的其他字段am报废工作正常
问题出在哪里?删除一些约束条件,并在工作时添加它们。例如,这从pythonr//tr/td[text()=“+UNIQUE_ID+r”]
中引出了什么?您所说的“我认为扩展通常会突出显示匹配的情况,但在我的示例中不突出显示,这是什么意思?”“是否可能此xpath表达式有效但与任何内容都不匹配?我想说的一件事是,xpath表达式看起来可能不必要地复杂,这将使调试更加困难。首先,除非您试图识别的td
元素也可能出现在th
元素下,否则开头的tr
是多余的。如果你能给我们url,我们可能会建议更短的备选方案。我使用了@salparadise调试的想法,我发现我需要再上一次(/../../../../../../../)。六次而不是五次。现在它工作了!现在,我不知道为什么它在扩展5和python 6中工作。请删除一些约束,并在工作时添加它们。例如,这从pythonr//tr/td[text()=“+UNIQUE_ID+r”]
中引出了什么?您所说的“我认为扩展通常会突出显示匹配的情况,但在我的示例中不突出显示,这是什么意思?”“是否可能此xpath表达式有效但与任何内容都不匹配?我想说的一件事是,xpath表达式看起来可能不必要地复杂,这将使调试更加困难。首先,除非您试图识别的td
元素也可能出现在th
元素下,否则开头的tr
是多余的。如果你能给我们url,我们可能会建议更短的备选方案。我使用了@salparadise调试的想法,我发现我需要再上一次(/../../../../../../../)。六次而不是五次。现在它工作了!现在,我不知道为什么它在扩展5和python 6中工作