ruby - 这个文本来自哪里与 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
不会做这个)。但没有运气!
我很好奇(就像他们提到的猫一样)!有任何想法吗?
解决方案
该文本将来自console.log(...)
站点 JS 中某处的声明。默认情况下,Poltergeist 将所有 JS 控制台日志输出到标准输出。
推荐阅读
- python - 将具有空白值的时间戳列的 Panda Dataframe 加载到 Teradata
- reactjs - TypeError:无法读取未定义的属性“isRequired”(材料 ui)
- c# - C#如何将字符串从不同的文件添加到列表中
- node.js - 具有多个用户的 socket.io 撤消/重做堆栈
- python - 如何仅返回与谷歌地图距离矩阵的距离
- postman - 如何使用 lodash 在邮递员中生成 14 位长随机数?
- php - 如何为每个不同子文件夹中的所有页面删除带有 .htaccess 的 PHP 文件扩展名?
- powershell - 当用户制定新的转发规则时,如何运行 PowerShell 代码通知管理员?
- c# - 获取按子级子节点过滤的父节点,XML
- python - 如何在数据框中创建子列并在 python 中使用 pandas 添加数据