【问题标题】:Issue creating the correct CSS Selector创建正确的 CSS 选择器的问题
【发布时间】:2017-07-27 22:13:39
【问题描述】:

我在这方面已经有一段时间了,我认输寻求帮助。我正在尝试废弃this page,特别是我正在尝试访问其中包含信息的每个表格行,如下图中的绿色突出显示。我不需要表头,只需要行。

使用 Scrapy,我可以使用以下选择器到达每个分区区域(上面写着“主校区”)

response.css('.datadisplaytable .datadisplaytable')

我使用 .datadisplaytable 两次,因为我尝试选择的表位于具有该类的表中。在那之后,对我来说,到达我所追求的表格行似乎是合乎逻辑的,那就是使用以下选择器

response.css('.datadisplaytable .datadisplaytable tbody:nth-child(2)')

但是,我对这个选择器一无所获。我做错了什么?

【问题讨论】:

    标签: html xpath css-selectors scrapy


    【解决方案1】:

    你的选择器有点不对劲。您没有尝试获取第二个 <tbody/> 标记。

    .datadisplaytable .datadisplaytable tbody tr:nth-child(n+2)
    

    这将为您获取所有行,并跳过每个表的标题。

    【讨论】:

    • 我在scrapy shell中尝试过,但没有得到任何回报。
    • tr:nth-child(n+2) 选择兄弟姐妹中第二个或更高元素的所有 tr 子级。
    • @ehThind 我对 Scrapy 不熟悉,我只是通过访问该页面上的控制台并检查 $('.datadisplaytable .datadisplaytable tbody tr:nth-child(n+2)') 的结果来验证这一点。
    • .datadisplaytable .datadisplaytable tr:nth-child(n+2) 没有tbody 似乎可以工作,但是它仍然提供标题。
    • .datadisplaytable .datadisplaytable tr:nth-child(3) 有效。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多