gpt4 book ai didi

ruby - 用 capybara 提取网址

转载 作者:数据小太阳 更新时间:2023-10-29 08:59:13 24 4
gpt4 key购买 nike

我有一个包含多个学生姓名条目的页面,每个学生都有一个指向他的图表的 url。 html 看起来像这样:

<div class="student_name">
<a target="_blank" data-tn-element="grade-result-link[]" data-tn-link
href="/johndoe/b89db3308ddaaed2?sp=0" rel="nofollow" class="student_link"
itemprop="url">John Doe</a>
<span class="graduated"> - Graduated 2013</span>
</div>

我想创建一个列表,其中仅包含页面上每个学生的 URL,但我最终得到的只是学生的姓名。我将 capybara 与 webkit 一起使用,我的代码类似于:

results =  page.all('div.student_name').map do |item|
puts(item.text)
end

我该如何表述才能只提取 href 中嵌入的(相对)url?

埃德

最佳答案

urls = page.all('div.student_name a', minimum: 1).map do |link]
link[:href]
end

应该给你网址。 minimum:1 只会让 all 等到页面上至少有一个实例,并且在您的特定实例中可能不需要。根据您使用的驱动程序,它们可能是完全规范化的 URL,但如果您真的需要 relative,则剥离它们的域并不难。

关于ruby - 用 capybara 提取网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40440036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com