ブラウザを操作する2014-08-24rubyTweetまとめselenium-webdriverでプログラムからブラウザを制御できるページのロードをまったり、ページ内のJSを実行したりできる。NokogiriやMechanizeが存在します。どちらもHTMLを解析してページの要素にアクセスします。実際のWebブラウザのエンジンとは違うため、若干の差異があったり、Javascriptで動的に変化するページなどにちゃんと対応するのはとても大変です。そこで、Webブラウザを直接操作してスクレイピングするライブラリの一つが、selenium-webdriverになります。selenium-webdriverのインストールRubyではselenium-webdrierのgemをインストールするだけで完了です。今回は説明が面倒なので省略し、Firefoxで動かします。firefoxのウインドウに対応するWebDriverオブジェクトが取得できます。このWebDriverに対して、移動先のURLやDOM要素の取得などを行えます。細かい設定などの変更のために、Profileというものが用意されています。これに対して様々な設定をし、WebDriver作成時に設定することで、ブラウザの挙動を変更出来ます。以下は、pdfを開いたときに特定のフォルダに保存する設定がされた状態で、Googleでpdfを検索し、先頭の一つをdownフォルダにダウンロードするコードになります。ota42yC++/Ruby/RoR/golang/rust/flutter。