首页 > 解决方案 > 这个文本来自哪里与 poltergeist?

问题描述

我正在用 Poltergeist 刮我图书馆的网站,这是我第一次体验那个宝石(或者水豚,就此而言)。它工作得很好。超级棒。

def self.scrape_book_list(url)
    session = Capybara::Session.new(:poltergeist)
    session.visit(url)
    books = session.all('.js-titleCard')
    books_hash = books.map { |book|
      # getting info from the session
    } 
    books_hash
end

但是,在该session.visit(url)行之后,甚至在它执行任何其他操作之前,它都会打印以下内容:

你好呀!该网站由 OverDrive 提供支持,我们的愿景是一个阅读启迪的世界。也许像你这样好奇的猫可以帮助https://company.overdrive.com/company/careers/open-positions/

我尝试在 Chrome 中检查页面,甚至查看了一些 js 源,但我似乎无法弄清楚这些文本的来源!

我想问题是“为什么/如何做这个?” 我认为搜索 html 或 js 代码会将文本从标头中的某个标签中调高,当它访问页面或其他东西时,poltergeist 可能总是打印出来(也许还有一种不同的方法可以将 url 传递给除此之外visit不会做这个)。但没有运气!

我很好奇(就像他们提到的猫一样)!有任何想法吗?

标签: rubycapybarapoltergeist

解决方案


该文本将来自console.log(...)站点 JS 中某处的声明。默认情况下,Poltergeist 将所有 JS 控制台日志输出到标准输出。


推荐阅读