从具有无效xpath的PyV8上下文中调用lxml的.xpath()会导致Python崩溃。为什么?

时间:2012-03-19 00:36:49

标签: python xpath lxml v8 embedded-v8

从具有无效xpath的PyV8上下文中调用lxml的.xpath()会导致Python崩溃。为什么呢?

有没有办法在尝试在调用.xpath之前使用lxml来检查s是否是有效的xpath表达式?

P.S。:有关它的相关信息:我使用的是Python 2.6,在Macbook上运行的Win 7 32位(Intel的Core2 Duo P7450 CPU)

重现错误的脚本:

import PyV8
import urllib2
from lxml.html.soupparser import fromstring
c = PyV8.JSContext()
c.enter()
doc_text = urllib2.urlopen("http://sfbay.craigslist.org/roo/").read()
doc = fromstring(doc_text)
c.locals['doc'] = doc
output = c.eval("doc.xpath('bad expression');")

编辑:更改了标题并添加了脚本以重现错误。最初的问题是为什么xpath表达式中的前导':'字符导致错误,但是当从PyV8上下文中调用xpath时,问题可能是由任何无效的xpath表达式引起的。

0 个答案:

没有答案