首页 >社区问答列表 >python - xpath中如何使用变量

python - xpath中如何使用变量

在xpath中该如何使用变量,想选择id是某个的元素,这个值是个变量

response.xpath('//p[@id=val]').extract_first()

其中val的值是'images',xpath中使用变量的语法是什么 。

  • 小皮
  • 小皮    2017-06-28 09:28:234楼

    参考文章:XPATH简明指南

    XPath中变量用$somevariable语法即$符号加变量名,然后在xpath方法调用时传参变量值。

    >>> # `$val` used in the expression, a `val` argument needs to be passed
    >>> response.xpath('//p[@id=$val]/a/text()', val='images').extract_first()
    u'Name: My image 1 '

    +0添加回复

  • 回复
  • typecho
  • typecho    2017-06-28 09:28:233楼

    response.xpath('//p[@id={}]'.format(val)).extract_first()

    我理解xpath的参数也是个字符串嘛,你试试。

    +0添加回复

  • 回复
  • 代言
  • 代言    2017-06-28 09:28:231楼

    你这个是python语句,为什么不用字符串拼接把这个表达式拼接起来呢?
    比如

    response.xpath('//p[@id=' + val + ']').extract_first()

    +0添加回复

  • 回复