SeleniumとVBAでググってみる

前回、VBAでSeleniumをセットアップまで行ったので
今回は実際にChromeを起動して、グーグル検索をしてみます。

ggrksと言われたらExcelを起動する斜め上の対応が出来るようになりますね。

Chromeの起動(URL表示)と終了

Dim driver As New ChromeDriver

‘起動(URL表示)
driver.Get “https://www.google.com”

‘終了
driver.Quit

グーグルのトップページを表示して、
Chromeを閉じるプログラム。

最後のQuitを書かなくても、VBAで起動したChromeはプログラム実行が終わると終了されます。

Getで別のURLへ遷移させる事も可能。
ログイン処理後、特定のページへ遷移するなどかな。

入力と検索

今回はキーワード入力のテキストボックスに値入力と、
[Google 検索]をクリックする動作を行います。

Seleniumではウェブページのコントロールを特定させて、
それに対する操作をしていくので
テキストボックスコントロールの特定と、
[検索]ボタンの特定をする必要があります。

idやnameが設定されているコントロールであれば、
id検索やname検索を行いコントロールを特定させます。
idやnameが設定されていない。または動的に設定されている場合は
タグセレクタや、クラスセレクタを使って特定させていきます。

今回のケースはどちらもnameが設定されていたので、
それを利用します。

’検索キーワード入力
driver.FindElementByName(“q”).SendKeys (“HOGE”)

‘Google検索ボタンをクリック
driver.FindElementByName(“btnK”).Click

※id、name、クラスなどはChromeの開発者ツールを使います

完成版

Public Sub hoge()
‘chrome を立ち上げてグーグルで検索実行
Dim driver As New ChromeDriver

‘起動(URL表示)
driver.Get “https://www.google.com”

‘検索キーワード入力
driver.FindElementByName(“q”).SendKeys (“HOGE”)

‘サジェスト表示分を加味して待機
driver.Wait (500)

‘Google検索ボタンをクリック
driver.FindElementByName(“btnK”).Click

MsgBox “exit?”

End Sub

キーワード入力をして、即検索ボタンをクリックさせたら
表示されていませんとエラーが返ってきた。

グーグルサジェストの表示待ちをしている最中は
ボタンが表示されていないようですね。
キーワード入力後0.5秒待機してからボタンクリックするようにしました。

 

Related post

  1. ZOOMでクロマキー合成使って差別化を狙う

  2. 自動Gmail下書き作成で1週間分メール作成

  3. 質問の答えが返ってきません

  4. Gmailの下書きを自動で作る

  5. ホームページにカードっぽいものを置いてみよう

  6. Excel-VBAとSeleniumでChrome操作 【コントロール…

  7. ウェブサイトのSSL化進んでいますか?

  8. ScrollMagicが想定外の所で発火してしまう

Comment

  1. No comments yet.

  1. No trackbacks yet.

スポンサーリンク

最近の記事

スポンサーリンク