"JQMIGRATE" 在 ruby 程序中使用 capybara 和 poltergeist 访问 https 站点时出错

"JQMIGRATE" error when visiting an https site with capybara and poltergeist in ruby program

我有一个程序

大约一年半前我上次 运行 它 运行 还不错,但是 运行 现在我收到错误消息。

我做了一个演示错误的小程序。

节目是-

 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

该路径一直是并且现在仍然是 fine.e.g。第一 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,但它只是谈论事件日志记录,所以我看不到那方面的适用性或任何解决方案 link。

从技术上讲,您在那里没有看到错误,您看到的是页面上使用的某些库的 JS 控制台日志输出。从您所显示的内容来看,它们是错误还是只是警告尚不清楚,但很可能维基百科已将页面上使用的库升级到不再支持 Poltergeist 使用的 PhantomJS 版本的版本。这可能发生,因为 PhantomJS 开发是 stopped/abandoned 由于 QtWebKit 不再被开发。这使得 Poltegeist/PhantomJS 基本上等同于 6-7 岁的 Safari 版本,它已经超出了任何网站 owner/developer 真正关心支持的年龄。从长远来看,通过 selenium 驱动程序而不是 poltergeist 驱动程序将程序升级为使用 headless chrome 会更好。