XPath:从属性字符串中选择特定项

时间:2016-05-02 16:01:06

标签: python xpath

尝试在较长的字符串中向下钻取到网址的特定Xpath。我已经了解了所列出的每一个块,但似乎没有比长串的属性更进一步。

示例代码:

<div class="abc class">
    <a class="123" title="abc" keys="xyz" href="url string">

现在我有......

.//*[@id='content']/div/div[1]/a

只检索从class到href的整个数据字符串。我需要什么来检索&#34; url字符串&#34;从那一部分?这是否需要通过随后的&#39;来实现。 python输入中的参数?

2 个答案:

答案 0 :(得分:1)

纯XPath解决方案只需将@href添加到表达式中:

.//*[@id='content']/div/div[1]/a/@href

在Python中,假设您使用的是lxml.html,您可以使用.attrib获取该属性:

for link in root.xpath(".//*[@id='content']/div/div[1]/a"):
    print(link.attrib['href'])

答案 1 :(得分:0)

尽量避免使用此数组

如果您的班级名称是唯一的,您可以这样做: -

//*[@id='content']/div/div[@class='abc class']/a[@keys='xyz']/@href

希望它会对你有所帮助:)。