プロが教える店舗&オフィスのセキュリティ対策術

■やりたいこと
VBA+SeleniumでGoogle Chromeを操作したい


■参考にしたサイト

VBA Seleniumを利用してWeb情報を取得(利用準備編)
http://www.dn-web64.com/archives/web/vba-selenium/

Google Chrome, Excel VBA, Seleniumbasicを使ったスクレイピング
https://qiita.com/redsil/items/046243dd26b7aa8f3 …

【VBA】VBA初心者がVBAからSeleniumを使ってみる
https://www.aipacommander.com/entry/2016/02/02/1 …


■状況
上記3つのサイトを参考に、作業をしましたが、いずれもやりたいことができませんでした。
エラー内容は共通して、

driver.Get "http://www.yahoo.co.jp/"

このコードで、添付画像のエラーが発生します。
このエラー直前に一瞬Chromeが起動してすぐ閉じられます(一瞬タスクバーにChromeのアイコンが表示されるが、体感0.1秒ほど)。
ちなみに、参照したサイトには、「ツール => 参照設定 => SeleniumWrapper Type Library にチェック」とありますが、実際にあったのは「Selenium Type Library」で、これにチェックを入れています。
また、それに合わせて、

Dim driver As New SeleniumWrapper.WebDriver

が認識されなかったため、

Dim driver As New Selenium.WebDriver

としたら認識されたため、それで実行しています。


どうすれば問題解決するでしょうか?
ご存知の方ご教示よろしくお願いします<(_ _)>


■動作環境
OS 名:Microsoft Windows 10 Pro
OS バージョン:10.0.16299 N/A ビルド 16299
OS 製造元:Microsoft Corporation
プロセッサ:Intel64 Family 6 Model 42 Stepping 7 GenuineIntel ~2400 Mhz
BIOS バージョン:TOSHIBA Version 2.20 , 2012/06/22
物理メモリの合計:3,988 MB
Excel バージョン:14.0.7192.5000(32ビット) Microsoft Office Standard 2010の一部

「VBA Selenium Google 」の質問画像

A 回答 (4件)

No.3の補足ですが、



Lates Release:ChromDriver 2.43

No.3は、内容が分かりにくかったと思います。
webDriverは、展開しても、SeleniumBasic の中は書き換わっていないので、直接、上記Driver を入れてしまう(前のをBakという拡張子に書き換えて、新しいものを入れるなど)という趣旨でしたが、ダメだったのでしょうか?
    • good
    • 0
この回答へのお礼

すみません、長期出張などで、この作業から離れてしまっていました。
解決はしていないのですが、再度確認したいと思います。
ありがとうございました。

お礼日時:2018/12/21 09:03

こんにちは。



stackoverflow を読んでみると、一人の人が、selenium とwebdriver との組み合わせが良くないと書いていました。

https://stackoverflow.com/questions/25080500/whe …
ここで書かれている話は難しいです。

そこで、私は、改めて、何も入れていないPC(Win10 -64bit)に、ここに書かれてあるものをダウンロードし、インストールをしてみましたが、問題なくコントロール出来ました。

Selenium32.tlb は、2016/03/02 70KB
C:\Users\[my name]\AppData\Local\SeleniumBasic\
driver: support Chrome v69-71
Google Chrome 70.0.3538

https://sites.google.com/a/chromium.org/chromedr …
Lates Release:ChromDriver 2.43

ひとつだけ注意点になるのは、新しいChromeDriver.exe を入れる場所ですが、
上記に書いてあるSeleniumBasic のフォルダーに、今まであったChromeDriver.exe と入れ替えて上げることぐらいでしょうか。ここを間違えるとたぶん動かないと思います。
これは、正しい場所には、自動的に展開しないようですね。

私が出来ているのですから、ご質問者さんも可能なはずなのですが……。

>port 9515
この設定を変えてあげなくてはならないのでしょうか。stackoverflow では、whitelist を使いなさいと書いている人もいますが……。必要がない気もしますが。
    • good
    • 0

私は、うっかり伝えるべきことを忘れていました。

失礼しました。
Chrome Driver 自体は、更新しなくていけなかったのでした。
サンプルの一例です。Latest と書いてありますが、これを作成した時のメモですから、時々チェックが必要です。

Sub ChromeControl1()
Dim driver As New ChromeDriver '要更新 Latest:2.43 support Chrome v69-71
'https://sites.google.com/a/chromium.org/chromedr …
Dim obj As Object
driver.Get "http://www.yahoo.co.jp/"
Set obj = driver
With obj
 AppActivate "Microsoft Excel"
 MsgBox .Title & " : " & .url
End With
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。

「Chrome Driver 自体は、更新しなくていけなかった」とありますが、リンク先(最新バージョン確認済)のファイルをダウンロード、展開し、実行ファイル実行でよいでしょうか?

それをしたら、コマンドプロンプト画面のようなものが出てきて以下のような文章が表示され、それ以外は何も起きませんでした。

Starting ChromeDriver 2.43.600210 (68dcf5eebde37173d4027fa8635e332711d2874a) on port 9515
Only local connections are allowed.

※関係ないかもしれませんが、すべてローカルでの作業をしています。

上記の画面を閉じ、いただいたサンプルコードを実行したら、私が投稿したのと同じエラーが発生しました。
なかなか複雑な仕組みのようですね(;^_^A

たびたびすみませんが、何が問題かおわかりでしたらご教示お願いしまします。

お礼日時:2018/11/15 09:25

こんばんは。



このSelenium Basic の問題は、別に頭を悩ますようなものではなくて、簡単にいうと、ライブラリが古いというだけのことです。数年前、何度やってもうまくいかないので変だと思ったら、バージョンが本体に追いついていなかっただけでした。Selenium は、ここ数年、やっと落ち着いたっていう感じがするのです。(FireFox は相変わらずだめです)

以下で書きましたが、
http://oshiete.goo.ne.jp/qa/10785557.html

Chrome は、大丈夫だということです。
Excel用の情報としては、GitUb のFlorentbr という所に集約されるので、
https://florentbr.github.io/SeleniumBasic/

ここを見てください。

Latest Versionは、
SeleniumBasic v2.0.9.0
最終リリースは、florentbr released this on 3 Mar 2016

と、これで試してみてください。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
ご提示いただいたものを入れたために、参照設定での名前が「SeleniumWrapper Type Library」から「Selenium Type Library」にかわっていたり、オブジェクトとして「SeleniumWrapper.WebDriver」が認識されていなかったのだと思われます。

ただいま、再度最新バージョンを入れて試しました。
Public Sub selenium_test()
Dim driver As New Selenium.ChromeDriver ※
driver.Start "chrome", "http://www.yahoo.co.jp/"
End Sub

※のところは、
Dim driver As New ChromeDriver
Dim driver As New Selenium.ChromeDriver
Dim driver As New WebDriver
Dim driver As New Selenium.WebDriver
の4パターンで実行しましたが、いずれも同じ現象で添付の画像のエラーメッセージが表示されました。

原因は思い当たりますでしょうか。

お礼日時:2018/11/13 11:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!