擅长:python、mysql、java
<p>我也遇到了类似的问题(当您复制为XPath时,Chrome会插入tbody元素)。正如其他人所回答的那样,您必须查看实际的页面源代码,尽管浏览器提供的XPath是一个很好的起点。我发现,删除tbody标记通常可以修复它,为了测试这个问题,我编写了一个小Python实用程序脚本来测试xpath:</p>
<pre><code>#!/usr/bin/env python
import sys, requests
from lxml import html
if (len(sys.argv) < 3):
print 'Usage: ' + sys.argv[0] + ' url xpath'
sys.exit(1)
else:
url = sys.argv[1]
xp = sys.argv[2]
page = requests.get(url)
tree = html.fromstring(page.text)
nodes = tree.xpath(xp)
if (len(nodes) == 0):
print 'XPath did not match any nodes'
else:
# tree.xpath(xp) produces a list, so always just take first item
print (nodes[0]).text_content().encode('ascii', 'ignore')
</code></pre>
<p>(这是Python2.7,以防非函数“print”没有提供)</p>