【发布时间】: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