下のプログラムのTimeout設定、Option設定の書き方は誤っているでしょうか。
Ruby
1require 'selenium-webdriver' 2 3# caps = Selenium::WebDriver::Remote::Capabilities.firefox("moz:firefoxOptions" => {args: ["--headless"]}) 4# driver = Selenium::WebDriver.for :firefox, capabilities: caps 5 6options = Selenium::WebDriver::Firefox::Options.new 7options.headless! 8options.add_argument('--no-sandbox') 9options.add_argument('--disable-gpu') 10options.add_argument('--disable-desktop-notifications') 11options.add_argument('--ignore-certificate-errors') 12options.add_argument('--allow-running-insecure-content') 13options.add_argument('--disable-web-security') 14options.add_argument("--disable-extensions") 15options.add_argument('--blink-settings=imagesEnabled=false') 16options.add_argument('--lang=ja') 17 18driver = Selenium::WebDriver.for :firefox, capabilities: options 19driver.manage.timeouts.page_load = 300 20 21count = 0 22begin 23 driver.get "https://example.com" 24rescue => e 25 count += 1 26 retry if count < 5 27 puts "無理だった" 28 puts e 29end 30 31driver.quit
このプログラムをConohaという安いVPSで動かそうとしています。私が持っているPC上では正常に動くことが確認できています。上のプログラムは「driver.get」の行を最大5回動作させようとしています。本来ならば1回で済ませたい所なのですが、メモリが512MBで、CPUが1コアのVPS上では性能面での問題なのか、以下のようなエラーメッセージが出る場合が多々あります。
/home/VPSUSER/.rbenv/versions/3.0.1/lib/ruby/3.0.0/net/protocol.rb:219:in `rbuf_fill': Net::ReadTimeout with #<TCPSocket:(closed)> (Net::ReadTimeout)
タイムアウトになるのであれば、その時間を延ばせば良いのだと思って、思いきって5分にしています。こちらを参考にしました。しかし動作させてみると60秒程度で上のメッセージが出てきてしまいます。これはロード時間のタイムアウトの設定の仕方がおかしいのだろうと思うのですが、どなたか分かる方いらっしゃいますでしょうか。
また、「options.add_argument」の書き方についても、あっているか自信が無いのでこれも正誤チェックできましたら、お願い申し上げます。すくなくとも「options.headless!」はきちんと動作していることは確認できていますが、その他の項目については自身で確認する手段がございませんのでよろしくお願い申し上げます。
持参のPC
OS: macOS 12.1 21C52 arm64 Host: MacBookAir10,1 Kernel: 21.2.0 Uptime: 4 days, 23 hours, 29 mins Packages: 36 (brew) Shell: zsh 5.8 Resolution: 3840x2160 DE: Aqua WM: Quartz Compositor WM Theme: Blue (Light) Terminal: Apple_Terminal Terminal Font: RictyDiminishedDiscord-Regular CPU: Apple M1 GPU: Apple M1 Memory: 2864MiB / 16384MiB ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [arm64-darwin20] selenium-webdriver (4.0.3)
VPS
OS: Ubuntu 20.04.3 LTS x86_64 Host: OpenStack Nova 2014.2-2.el7.centos Kernel: 5.4.0-91-generic Uptime: 12 days, 2 hours, 38 mins Packages: 1252 (dpkg), 7 (snap) Shell: fish 3.1.0 Resolution: 1024x768 Terminal: /dev/pts/1 CPU: Intel Xeon E5-2650 v3 (1) @ 2.294GHz GPU: 00:02.0 Vendor 1234 Device 1111 Memory: 116MiB / 478MiB ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux] selenium-webdriver (4.1.0, 4.0.3, 3.142.7) Mozilla Firefox 95.0.1
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/03 03:48
2022/01/03 04:07
2022/01/06 04:31
2022/01/08 02:23
2022/01/08 02:39