如何从没有xpath的元素中提取文本

时间:2019-01-30 01:27:03

标签: python selenium xpath web-scraping

我正在尝试在送餐网站上通过网络刮擦每个餐厅的美元符号评级,但是,没有可用的xpath。

<!-- react-text: 2108 -->
"$$"
<!-- /react-text -->

上面的代码是我检查网站时用于美元评级的代码。我已经尝试过使用上面的代码:

    <i class="icon-bullet--small">·</i>

但是,由于不是用于美元评级,因此会输出该期间。 我也尝试使用:

    cost = ['//li[{}]/a/div[2]/p[2]/!'.format(x) for x in range(1, 999)]

以及在xpath中使用“!-”,“ react”和“ react-text”,但它们都不起作用。 关于如何解决这个问题有什么建议吗?

1 个答案:

答案 0 :(得分:5)

此XPath,

//comment()[normalize-space() = "react-text: 2108"]/following-sibling::text()

将在目标注释之后立即选择文本节点,并返回

"$$"

根据要求。


重要说明: @DebanjanB指出,包含react-text: 2108的注释是一个React指令,除非将内容提取为{{1 }}。谢谢,Debanjan!