我是在与Poltergeist一起刮擦图书馆的网站时,这是我对该宝石(或与水豚)的初次体验。效果很好。超级棒。
id | quantity | name | price
------|------------|--------|---------
44_1 | 15 | 550 | 30
44_4 | 16 | 551 | 30
但是,在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
行之后,甚至没有执行任何其他操作之前,它都会打印以下内容:
你好!该站点由OverDrive驱动,我们的愿景是通过阅读启发世界。也许您会帮助https://company.overdrive.com/company/careers/open-positions/
的好奇猫
我试图检查Chrome中的页面,甚至偷看了一些js来源,但我似乎无法弄清楚这些文字的来源!
我猜想问题是“为什么讲讲讲论的人为什么?”而且我发现搜索html或js代码会从poltergeist可能在页面或某物访问页面时始终打印的标头中的一些标签中查找文本(也许除了session.visit(url)
之外,还有其他方法可以将url传递给那将不会这样做)。但是没有运气!
我很好奇(就像他们提到的猫一样)!有什么想法吗?
答案 0 :(得分:1)
该文本将来自站点JS中某处的console.log(...)
语句。默认情况下,Poltergeist将所有JS控制台日志输出到stdout。