[ruby-list:50761] Re: [質問] rescue節で、他パッケージのメッセージ出力を抑止したい
From:
yamataka@...08.itscom.net
Date:
2019-05-06 07:10:16 UTC
List:
ruby-list #50761
山口です。
斎藤さん、サポートありがとうございます。
On Sat, 04 May 2019 01:00:04 +0900,
Tadashi Saito wrote:
...
> というのがあるので、やはり selenium-webdriver gem側が相当あやしいように思います。
> もしご自身で、deprecatedな定数を直接触っていないのであれば、
deprecatedな定数を直接触っていないです。
> * プロセスの再起動をしていない等、古いバージョンのgemを使ったままになっている
> (これは実行環境によるので、何とも言えないところです)
yama@yamaguchi-no-MacBook-Air ~/b/a/test> cat version-selenium-webdriver.rb
# coding: utf-8
require 'selenium-webdriver'
p Selenium::WebDriver::VERSION
yama@yamaguchi-no-MacBook-Air ~/b/a/test> ruby version-selenium-webdriver.rb
"3.142.0"
で、
yama@yamaguchi-no-MacBook-Air ~/b/a/test> gem list -b '^selenium-webdriver$'
*** LOCAL GEMS ***
selenium-webdriver (3.142.0)
*** REMOTE GEMS ***
selenium-webdriver (3.142.0)
より、最新版の 3.142.0 が使われています。
> * 間接依存している他のgemが古い方の定数を使っている
> くらいしか、残りの可能性はない気がします。
これに、起因しているのかもしれませんね。
>
> 参考までに、自分は以下の3行のプログラムを実行してみました
>
> require 'selenium-webdriver'
> wait = Selenium::WebDriver::Wait.new(timeout: 0)
> wait.until { sleep(1) }
>
> が、deprecationの警告は出ませんでした。
>
> Traceback (most recent call last):
> 1: from sample.rb:5:in `<main>'
> /home/tadashi/git/selenium-sample/vendor/bundle/ruby/2.6.0/gems/selenium-webdriver-3.142.0/lib/selenium/webdriver/common/wait.rb:73:in
> `until': timed out after 0 seconds (Selenium::WebDriver::Error::TimeoutError)
yama@yamaguchi-no-MacBook-Air ~/b/a/test> cat check-selenium-webdriver.rb
# coding: utf-8
require 'selenium-webdriver'
wait = Selenium::WebDriver::Wait.new(timeout: 0)
wait.until { sleep(1) }
yama@yamaguchi-no-MacBook-Air ~/b/a/test> ruby check-selenium-webdriver.rb
Traceback (most recent call last):
1: from check-selenium-webdriver.rb:5:in `<main>'
/Users/yama/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/selenium-webdriver-3.142.0/lib/selenium/webdriver/common/wait.rb:73:in `until': timed out after 0 seconds (Selenium::WebDriver::Error::TimeoutError)
出力は同じですね。
> またこういう時、Bundler(Gemfile,Gemfile.lock)を使うと、依存するgemのバージョンを固定・明示できて便利です。
Bundler 紹介ありがとうございます。
使う程のシビアな環境でもないので...
> もちろん、他の方が挙げてくださった方法で「出力を無視する」というのも、アリだと思います。
こちらで対処しようかと思います。
サポート大変ありがとうございました。