ExcelのVBA好きではありませんが、VBAとSeleniumBasicを使いChromeの操作ができます。WEBページへの書き込み・画像のアップロードまた、WEB上からデータを取得することもできます(スクレイピング)
Seleniumのダウンロード先: (更新は止まっているようです)
Chromeを自動で動かす別の方法:
SeleniumBasicのインストールと設定すべきこと
ダウンロードしたEXEを実行すると、決まったフォルダに入ります。自分で好きな場所指定できないようです。
Chromedriverが必要です。
Excelの「Selenium Type Library」参照設定にチェックを入れる
「ツール」>「参照設定」と選択します。
「Selenium Type Library」にチェックを入れます。
テストコードを動かしてみる エラーで動かない
Public Sub testWEB()
Dim driver As New Selenium.WebDriver
driver.Start "Chrome"
driver.Get "https://www.yahoo.co.jp/"
End Sub
ChromeでYahooを開くだけのコード
こんなエラーが出ました。
UnknownError
unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Windows NT 10.0 x86_64)
「UnknownError」考えられるのChromeがよくUpdateするので「ChromeDriver」が最新のものでない。自動化よくやるのですでにChromeDriver入っていますが古いと思います。
最新のものをダウンします。ダウンロード先:
ダウンするDriverは自分のChromeのバージョンに近いものを選びます。
そして、Seleniumと同じフォルダに入れてください。
これで、ちゃんと動きました。Chromeの新規Windowが立ち上がります。
Selenium Command調べてみる
URL開く .Get “url”
Private Sub Use_Chrome()
Dim driver As New ChromeDriver
driver.Get "https://www.yahoo.co.jp/"
driver.Quit
End Sub
Chrome新しい窓が開き。Yahooを開きます。ただし、すぐに閉じる。
drive.Wait 8000 '8秒待つ
Quitの前に入れます。
別のサンプルコード: いろんな書き方できるみたいです。
Public Sub try()
Dim driver As New WebDriver
driver.Start "Chrome", "http://www.google.com"
driver.Get "/"
MsgBox "SAM"
End Sub
Command 一覧ないのでサンプルを読む
Google先生に聞いても、コマンドの説明出てこないので、SeleniumBasic入れたとき一緒に入ってきたサンプルを読むことにしました。
SeleniumBasicのフォルダ見たら、「ヘルプファイル」がありました。
英語で中身も難解です(私には)
コマンド知らないと何もできなさそう。
Googleで検索ワードをつけて開きたい
https://www.google.com/search?q=検索ワード
最初にInputで検索ワードを入れ、それをGoogleで開く
Public Sub try()
Dim searchWord As Variant
Dim driver As New ChromeDriver
searchWord = InputBox("")
URL = "https://www.google.com/search?q=" & searchWord
driver.Get URL
'
MsgBox "SAM"
End Sub
これだと、日本語だけでなく英語も検索されてしまう。
わかりました
searchWord = searchWord & "&lr=lang_ja"
URL= ~~行の前に上のコード入れてください。
lr=lang_ja の=前後に空白を入れてはいけません。
Googleで検索語をつけ、自分のブログが何位に表示されているのかをチェックしたい
別記事で書きます。
コメント