Ruby 如何刮角元素

Ruby 如何刮角元素,ruby,nokogiri,Ruby,Nokogiri,我正试着刮一个内置的网页。我所关注的信息格式如下所示: <mat-row class="mat-row ng-star-inserted" role="row"> <mat-cell class="mat-cell cdk-column-Players mat-column-Players ng-star-inserted" role="gridcell"> <a href="users/205101">Federer, Roger&l

我正试着刮一个内置的网页。我所关注的信息格式如下所示:

<mat-row class="mat-row ng-star-inserted" role="row">
    <mat-cell class="mat-cell cdk-column-Players mat-column-Players ng-star-inserted" role="gridcell">
        <a href="users/205101">Federer, Roger</a>
    </mat-cell>
</mat-row>
什么也得不到

我还尝试使用以下工具从Chrome浏览器工具复制完整XPath:

doc.xpath("//html/body/usq-club-locker-app/usq-team-profile/usq-profile/section/div/div[4]/mat-card/mat-tab-group/div/mat-tab-body[4]/div/div/div/mat-table/mat-row[1]/mat-cell[1]")
但也没有结果


如何让Nokogiri找到指定类的所有
mat row
元素?

将代码片段作为字符串,执行
Nokogiri::HTML(str).css('mat-row')
,我得到了你的一个元素(更具体地说,
doc.css('mat-row mat cell a')。map(&:text)
得到了我的
[“费德勒,罗杰”
)。请构造一个演示您无法访问您试图访问的内容的。然而,您可能应该对XML数据使用
Nokogiri::XML
,而不是
Nokogiri::HTML
。可能您试图抓取的内容在加载页面后正在加载xhr请求?尝试将脚本获取的文档转储到文件中,并检查是否存在所需的数据。我无法复制该问题。”“我们会帮助你的。不要从浏览器复制XPath。浏览器在病态上很有帮助,它们会试图让你开心。好吧,没什么帮助。他们大口咀嚼呈现的HTML,使其在屏幕上看起来不错,但不一定是服务器发送的内容。在命令行中使用
wget
curl
httparty
nokogiri
,查看他们作为您的朋友得到了什么。
doc.xpath("//html/body/usq-club-locker-app/usq-team-profile/usq-profile/section/div/div[4]/mat-card/mat-tab-group/div/mat-tab-body[4]/div/div/div/mat-table/mat-row[1]/mat-cell[1]")