在Ruby程序中与水豚和poltergeist一起访问https网站时出现“ JQMIGRATE”错误

时间:2018-12-27 01:19:07

标签: ruby capybara poltergeist

我有一个程序

大约一年半前,当我上次运行它时,它运行良好,但是现在运行它会出现错误。

我制作了一个演示该错误的小程序。

程序是-

 require 'capybara/poltergeist'
 session = Capybara::Session.new(:poltergeist)


print "visiting http://www.wikipedia.com \r\n"                                                                                                    


session.visit('http://www.wikipedia.com')

print "no error visiting http://www.wikipedia.com \r\n"                                                                                                    

print "visiting https://en.wikipedia.org/wiki/FIFA_World_Cup \r\n"                                                                                                    

session.visit('https://en.wikipedia.org/wiki/FIFA_World_Cup')

print "blah"  # prints blah so gets that far even though error from previous line.                                                                                                    

在运行程序之前,我已经设置了路径@PATH=%PATH%;c:\gecko;c:\Program Files (x86)\Mozilla Firefox;c:\phantomjs\bin

路径始终且仍然很好。第一个session.visit行(用于HTTP而不是https的行)有效

C:\rubytest\wikipediathing\current>ruby wikipediatest2.rb
visiting http://www.wikipedia.com
no error visiting http://www.wikipedia.com
visiting https://en.wikipedia.org/wiki/FIFA_World_Cup
JQMIGRATE: Migrate is installed with logging active, version 3.0.1
This page is using the deprecated ResourceLoader module "schema.UniversalLanguageSelector".
See https://phabricator.wikimedia.org/T205744 for migration info.
blah
C:\rubytest\wikipediathing\current>

我去过https://phabricator.wikimedia.org/T205744,但它只是谈论事件记录,因此在该链接上看不到适用性或任何解决方案。

1 个答案:

答案 0 :(得分:2)

从技术上讲,您在这里没有看到错误,而是从页面上使用的某些库中看到了JS控制台日志输出。从显示的内容看,它们是否是错误还是仅是警告尚不清楚,但很可能是维基百科已将页面上使用的库升级为不再支持Poltergeist使用的PhantomJS版本的版本。之所以会发生这种情况,是因为由于不再开发QtWebKit而停止/放弃了PhantomJS的开发。这就使Poltegeist / PhantomJS基本上相当于6-7岁的Safari版本,它已经超过了任何网站所有者/开发人员真正关心支持的时代。长期而言,将程序升级为通过硒驱动程序而不是poltergeist驱动程序使用无头镀铬会更好。