【问题标题】:Xpath pass a variable in a predicateXpath 在谓词中传递变量
【发布时间】:2014-10-23 13:06:02
【问题描述】:

我需要帮助通过 Xpath 传递谓词中的变量,使用 Python 进行网络抓取。

Xpath 谓词路径示例:

//*[@id="rev_exp_div_1370887"]/table[1]/tbody/tr[1]/td

不工作的谓词变量

by_xpath('//*[@id="rev_exp_div_1370887"]/table["' + str(x) + '"]/tbody/tr[1]/td').text

代码通过了语法检查并成功运行,但没有找到正确的表(事实上根本没有),即使当我用 print x 仔细检查 x 时 x 返回了正确的值。当然,如果我将值硬编码在(显示在代码的第一行)中,它就可以工作,这样我至少知道路径是正确的。

欢迎和赞赏想法、cmets 或建议。

【问题讨论】:

  • 您的/table["' + str(x) + '"] 不需要“。试试/table[' + str(x) + ']
  • 非常感谢!问题已解决。这么简单,我觉得很傻。你让我今天一整天都感觉很好。干杯。
  • @MarkRowlands 你介意添加这个作为答案吗?然后,可以接受,事情就解决了。

标签: python variables selenium xpath predicate


【解决方案1】:

您的/table["' + str(x) + '"] 不需要"。

改用/table[' + str(x) + ']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 2013-10-30
    • 2017-03-19
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多