スリ飯屋MaLankaのフリーエンジニアな日々

このブログでは、フリーランス5期目となる自身の実体験から、フリーランスエンジニアになるためのノウハウ、ブログや沖縄移住、スリランカの最新情報について発信します。

技術関連 - スクレイピング

【Ruby Selenium】wait.untilブロックでTimeoutしたら外側にraiseされる

Selenium::WebDriver::Error::TimeoutErrorは、 直下のrescueで補足される と思っていたが、そうではなかった。 これに気づくのにめちゃくちゃ時間がかかりました笑 調べていくと、 wait.untilブロックの外側 にraiseされていました...

【Ruby】Seleniumでエラー Other element would receive the click の解決方法

2通りの解決方法がありました。 上に被っている要素を、閉じるなり移動させる clickではなくsubmitを使う submitの方が手っ取り早かったので、自分はsubmitで対応しました。

【Ruby スクレイピング】Seleniumで要素が空かどうか判定する

キーワードに一致する商品が見つからない場合、 "該当する商品が見つかりませんでした" というテキストが表示されます。 なのでそれを判定条件にしました。 下記、サンプルコードです。 # ヘッドレス(ブラウザを立ち上げない)で動かすためのオプションを生成…

【Rubyでスクレイピング】Seleniumでdata属性を取得

attribute() を使います。 attribute('data-XXX') のような形です。 # data-remarksというプロパティを持つ要素を全て取得。戻り値は取得出来た要素の配列 driver.find_elements(:xpath, "//*[@id='search']/div[1]/div[2]/div/span[4]/div[1]/div[#{i + 1}]…