python-3.x - 在 xpath 语句上设置条件

标签 python-3.x xpath scrapy css-selectors

我正在使用scrapy抓取一个网站,并且只想从灰色链接中获取数据,这是我通过将css类定位为灰色元素来完成的。我面临的问题是第二个 xpath /div[1]/text()正在从事件的元素中选择元素,因此当我的列表返回时,我有列表中不活动的公司的地址。

我想知道的是是否有办法只从类 font_grey 中选择父 div。我确实尝试过使用 parent::text()但这返回了一个空值。

<div onclick="" class="col-md-5 border_right maxhelem ">
<h3 class="font_grey">Kost A/S</h3>
501&nbsp;Give St
</div>

response.xpath('//*[@id="main_wrapper"]/main/div/div/div/div[4]/div/div/div[2]/div[2]/div/div/div/div/div/div/h3[@class="font_grey"]/text() |  //*[@id="main_wrapper"]/main/div/div/div/div[4]/div/div/div[2]/div[2]/div/div/div/div/div/div[1]/text()').extract()

最佳答案

这个 XPath,

//div[h3/@class = "font_grey"]

将全选div有 child 的元素h3具有 @class 的元素"font_grey" 的属性值.

关于python-3.x - 在 xpath 语句上设置条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54083587/

相关文章:

Python子进程实时stdout和stdin问题

python-3.x - 使用 Asyncio 的 Run_In_Executor 包装 Selenium 驱动程序(和其他阻塞调用)

xpath - XQuery/Xpath 在命名空间环境中引用没有命名空间的 xml 元素

xpath - 如何使用 Nokogiri 按名称查找元素?

python - 如何用Scrapy爬取本地HTML文件

python - 限制scrapy可以收集的元素数量

python - 为什么这个参数列表在Python中没有改变?

python - 删除文件时出错

java - 在 Cookie Clicker (Selenium) 上查找鼠标悬停工具提示的 xpath 时遇到问题

python - Scrapy-deploy 到 Scrapyd 不会安装 setup.py 中指出的要求