プログラミング

herokuのfree dynoで新しいタブを開いていくとSelenium::WebDriver::Error::NoSuchWindowError: no such windowが出る

herokuのfree dynoで新しいタブを開いていくとSelenium::WebDriver::Error::NoSuchWindowError: no such windowが出る ローカルでは問題なく動いていたコードが、herokuのfree dynoで動かすとエラーが出る。 原因は、herokuのfree dyno上ではなぜか2つ以上タ…

herokuのfree dynoでchromeを動かすとSelenium::WebDriver::Errorでクラッシュする

エラー Selenium::WebDriver::Error::UnknownError: unknown error: session deleted because of page crash リモートサーバー環境 herokuのfree dyno メモリは512MBらしい。とはいえ、chromeを動かすだけなら大丈夫なのでは?と思うがクラッシュする。。 対…

rake taskを終了する時にexitを使ってLocalJumpError: unexpected returnを出さないようにする

returnでrake taskを終了しようとするとエラーが出る namespace :hoge do desc 'fuga' task exit_rake_task: :environment do p "rake taskを終了する" and return if true end end > LocalJumpError: unexpected return まぁ結果は終了するのだけど、エラー…

Heroku Schedulerで任意の間隔でスクリプトを実行したい

Heroku Schedulerで任意の間隔でスクリプトを実行したい 1週間毎とかに実行したい。 Heroku Schedulerは実行間隔を10分毎、1時間毎、1日毎しか設定できない もう少し選べるといいが、仕方ない。。 1週間毎に起動させる例 ただのブロック節でコントロール…

seleniumチートシート@ruby

seleniumチートシート@ruby 使うたびに調べているので、よく使うものはまとめておく。 調べたことは随時追加する。 chromeを開く # 通常モードで開く @driver = Selenium::WebDriver.for :chrome # ヘッドレスモードで開く options = Selenium::WebDriver::C…

seleniumでeachなどで作られた一覧の要素全てに対して操作をする@ruby

seleniumでeachなどで作られた一覧の要素全てに対して操作をする@ruby 例えば「投稿一覧」のような画面で各投稿を1つずつクリックして開きたい時のパターンを想定。 操作する要素の例 こんな感じのやつを想定。多分よくあるやつ。 各post以下のlinkを1つずつ…

TimeWithZoneオブジェクトを指定した期間で1時間ごとにstrftime("%Y-%m-%d %H:%M:%S")のフォーマットで配列にする

やりたいこと TimeWithZoneオブジェクトを指定した期間で1時間ごとにstrftime("%Y-%m-%d %H:%M:%S")のフォーマットで配列にしたい。 サンプル start_at = Time.zone.parse("2021-04-09 00:00:00 +09:00") end_at = Time.zone.parse("2021-04-09 23:00:00 +09…