获取(返回)Xpath给出值

时间:2014-01-15 02:08:00

标签: python html xpath beautifulsoup lxml

我有一个HTML文档,我知道文档中存在的值。使用python如何获得该值的Xpath? (不是Xpath中的值)该值可能会出现多次,因此迭代方法的列表将非常有用。

例如,如果我希望Xpath为“bytearray”:

    http://en.wikipedia.org/wiki/Python_(programming_language)
it is (using google Chrome)
    //*[@id="mw-content-text"]/table[2]/tbody/tr[3]/td[1]/code

另一个例子

    from lxml import etree
    import StringIO

    # Example of get value given Xpath (I know how to do this)
    f = StringIO.StringIO('<foo><bar>xyz</bar></foo>')
    tree = etree.parse(f)
    r = tree.xpaths('/foo/bar')
    print(r[0].text)
    >>> xyz

    # Example get Xpath given value. How do I do this ?
    value = 'xyz'
    path = getXpath(value)
    for p in path:
        print(p)
    >>> /foo/bar

我没有停留在使用Xpath,我的目的是使用我知道在页面上的值的某种类型的位置信息来检索具有相同布局的页面上的未知值。我不是手动做什么,因为有数百个(值,位置)对。

0 个答案:

没有答案