访问元素在Xpath中深埋了许多层

时间:2019-06-13 06:23:36

标签: python xpath scrapy

我是Xpath的新手,我正在尝试使用Scrapy Python库从this site中获取以下元素:

<a ui-sref="app.releasenotedetail({ locale: activeLocale, releasenoteId:note.id})" class="ng-binding x-hidden-focus" href="/en-us/security-guidance/releasenotedetail/253dc509-9a5b-e911-a98e-000d3a33c573">June 2019 Security Updates</a>

我已经尝试使用后代符号:

release_url = response.xpath("//a[@class='ng-binding x-hidden focus']").extract()

我通过直接从开发者控制台复制来自元素的XPath来进行尝试:

release_url = response.xpath("/html/body/div[2]/div/div/div/div[3]/div[2]/div/ui-view/table[1]/tbody/tr[1]/td[2]/a").extract()

均无效。 release_url空白。我如何知道这个要素?我想念什么?

1 个答案:

答案 0 :(得分:1)

此元素加载了对https://portal.msrc.microsoft.com/api/security-guidance/en-us/releaseNotes的额外POST请求。在屏幕截图上进行检查:

webinspector

因此,使用相同的标头和有效负载进行相同的POST请求,您将获得包含所需数据的json。