我在这里问了我以前的问题:
Xpath pulling number in table but nothing after next span
这起作用了,我设法在一个名为xpath检查器的firefox插件中看到了我想要的数字。结果如下。

所以我知道我可以用这个xpath找到这个数字,但是当我试图运行python scrpit来查找和保存这个号码时,它说它找不到它。
try:
views = browser.find_element_by_xpath("//div[@class='video-details-inside']/table//span[@class='added-time']/preceding-sibling::text()")
except NoSuchElementException:
print "NO views"
views = 'n/a'
pass 我不,那个传球不是最好的练习,但我现在只是测试这个,试图找出号码。我想知道是否需要在xpath的末尾更改一些东西,比如.text,因为xpath检查器通常显示的结果有点不同。如下所示:

我需要使用我给出的xpath,而不是上面图片中使用的xpath,因为我只需要数字而不是日期。您可以在我前面的问题中看到部分来源。
提前感谢!在这里挠我的头。
发布于 2014-12-23 16:49:27
find_element_by_xpath() 中使用的xpath必须指向元素,而不是文本节点,也不是属性。这是一件很关键的事。
这里最简单的方法是:
td的文本(父)span的文本(子)代码:
span = browser.find_element_by_xpath("//div[@class='video-details-inside']/table//span[@class='added-time']")
td = span.find_element_by_xpath('..')
views = td.text.replace(span.text, '').strip()https://stackoverflow.com/questions/27618733
复制相似问题