- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 capybara poltergeist 来自动化 tumblr.com 上的一个小脚本
我的脚本在我的 chrome 驱动程序上运行良好。我的 poltergeist 驱动程序加载所有其他网站都很好,但由于某种原因,当我尝试加载 tumblr 时抛出 Capybara::Poltergeist::StatusFailError
.
复制步骤:
$ brew install phantomjs
$ gem install capybara
$ gem install poltergeist
$ gem install selenium-webdriver
$ irb
require 'capybara/poltergeist'
module Drivers
class Poltergeist < Capybara::Poltergeist::Driver
def needs_server?
false
end
end
end
Capybara.register_driver :poltergeist_errorless do |app|
Drivers::Poltergeist.new(app, js_errors: false, timeout: 10000, phantomjs_options: ['--load-images=no', '--ignore-ssl-errors=yes'])
end
session = Capybara::Session.new(:poltergeist_errorless)
session.visit('https://google.com') # This works fine
session.visit('https://tumblr.com') # This does not work?
我试图设置我所有的标题来查看我的谷歌浏览器的请求,但这似乎也没有解决它。有人有什么建议吗?
最佳答案
问题与 phantomjs SSL 握手失败有关。你可以拿我的gist然后用 phantomjs 运行,你会看到:
[cut]
= onResourceError()
- unable to load url: "https://www.tumblr.com/"
- error code: 6, description: SSL handshake failed
= onResourceReceived()
id: 3, stage: "end", response: {"contentType":null,"headers":[],"id":3,"redirectURL":null,"stage":"end","status":null,"statusText":null,"time":"2014-09-16T12:06:05.547Z","url":"https://www.tumblr.com/"}
= onLoadFinished()
status: fail
DONE WITH fail WebPage(name = "WebPage")
稍微检查一下解决方法是在 phantom 中使用 --ssl-protocol=any
,这样您的代码将变为:
Capybara.register_driver :poltergeist_errorless do |app|
Drivers::Poltergeist.new(app, js_errors: false, timeout: 10000, phantomjs_options: ['--load-images=no', '--ignore-ssl-errors=yes', '--ssl-protocol=any'])
end
上类。
引用资料:
关于Ruby:Phantom.js 在特定站点上被阻止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25706563/
如果我使用 phantom.js 进行网页抓取,单击一些按钮和链接,那么终止程序最方便的方法是什么? http://phantomjs.org/api/webpage/method/close.htm
我正在尝试使用 phantom.js 编写一个网络蜘蛛。但是我收到了很多错误消息,我不知道为什么。我的代码如下所示: 使用 Nightmare.js: var Nightmare = require(
刚刚学习使用phantomjs,根据网上帖子自己手动改了一个延时截图功能,发现延时功能就是不能执行,最后一点点排查出了问题。 看代码: ?
所以我有一个带有 nextjs 的 React 应用程序,当用户使用 Phantom 钱包扩展程序并切换帐户时,我需要获取一个事件触发器。我在他们的文档中找不到任何相关内容:https://docs.
API 文档说 This reference type differs from the others in that it isn't meant to be used to access the
我正在尝试使用Phantom JS登录一个站点,以便可以保持供应商价格的最高水平。 输入了用户名和密码,但没有按下登录按钮。 如果登录按钮是而不是,则.click()应该可以工作,但是我找不到按的方法
我正在运行 AngularJS 的设置AJAX 应用程序,并使用 PhantomJS和 Angular-seo库,以便为爬虫提供实际标记而不是 JS 代码。 不幸的是,我收到一条错误消息: 此附件的隐
我有一个 Phantom JS 脚本,用于监视一些外部页面。基本上它只是从这个页面获取状态,如下所示( typescript 代码): const status: string = await pag
我设法使 SVN 存储库陷入不良状态。我已经移动了一个目录,但现在无法将其提交到新位置。 就svn status而言,目录未知(目录名称为type)。 $ svn status? type
我在命令行中输入以下命令:tf工作区,它告诉我计算机上没有工作区。然后我在服务器上尝试相同的命令,什么也没有。因此,我进入 Visual Studio 2010 并创建一个新工作区,并尝试将 TFS
这个信息图有更多问题。好像有幻影出现在轮播的末尾。有谁知道这是怎么出现的? http://weaver-wp.weavertest.com/radiation-infographic/ 干杯,戴夫 最
我有一个 UWP 应用程序,该应用程序给我幻象的 XAML 编译器错误。 在此示例中,我在 Win2D 控件上遇到错误: 控件的命名空间是: xmlns:win2D="usin
我正在使用 Jasmine 对 Angular 应用程序进行单元测试。在 Chrome 上一切正常,直到我开始使用 PhantomJs 进行 headless 浏览器测试或在控制台上测试输出。 2天后
我正在尝试使用 Phantom.JS 在此页面上执行一些页面自动化:https://reserve.apple.com/GB/en_GB/reserve/iPhone 我知道如何使用 document
这是 Scala“Phantom Type”演示的示例,显示 compile-time checking of Rocket Launch configuration : object RocketM
我似乎在 Postgres 中有某种幻影表。 假设我执行以下操作: select * from information_schema.tables where table_schema = 'publ
是否可以使用 Phantom.js 获取警告框内的文本? var page = require("webpage").create() , assert = require("assert"); pa
我正在尝试创建一个列表,其中每一行都有一个指示该行的数字(例如,“1”代表第一行,“2”代表第二行,等等),一个或多个图标(例如,删除、编辑等)紧接在号码的右侧,然后是后面的文本 block 。参见
请帮助我在我的 Windows 8 PC 上配置 phantom.js。 我是从http://phantomjs.org/download.html下载的 它给了我一个 zip 文件,其中有 1 个
我对 PhantomJS 和一般编程都很陌生,所以请耐心等待。我正在尝试编写代码来登录我的亚马逊帐户,并将送货地址添加到我的地址簿中。我正在使用的代码在这里: var steps=[]; var lo
我是一名优秀的程序员,十分优秀!