アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつも大変お世話になってます

タイトルの件、excel vbaでselenium basicを使用したWebスクレイピングを作成しています

その中で、やっかいなWebDriverの更新を自動化すべくコードを書いていますが、
Edgeを使う指定をしたときだけ正常に動かず困っています。

下記の手順を実施してます
①SeleniumBasicをインストール
②マクロで自動更新のコードを実行
 →添付画像のところでエラーが出ます
  見たところ、デフォルトインストールされるedgedriver.exeのバージョン情報が引っ張れないようです

edgedriver.exeを個別にダウンロードしてきてコピペしたのちにコードを実行すると
自動更新のコードが正常に動くようになります

この、デフォルトインストール段階から、
正常にコードが動くようにするにはどうしたら良いでしょうか

お詳しい方いらっしゃいましたら、ご教示いただけますでしょうか

ちなみに、chromeで実行すると、デフォルトインストール状態からでも
正常に自動更新のコードは動きます

「excel vbaでselenium b」の質問画像

質問者からの補足コメント

  • ありがとうございます

    retの内容ですが、ブランクでした
    ret = CreateObject("WScript.Shell").Exec(DriverPath & " -version").StdOut.ReadLine

    DriverPathについては、chromeの場合と同じく、exeが格納されている場所を指しています

    Exec(DriverPath & " -version").StdOut.ReadLine
    この部分が正常に動いていないような感じですが、原因が全く分かりません。
    exeを個別に落としてきて入れると、retにはバージョン情報が入ってきて正常に進みます

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/10/02 14:36
  • ありがとうございます

    すいません。
    説明が足りていませんでした。

    まさに上記のコードを使用していますが、
    最初からまともに動かない状態でした

    その状態からある程度環境を絞れば動くところまで行けはしたんですが、
    希望の動きである、一番シンプルな、selenium basicインストール→マクロスタート→自動更新走る→スクレイピング→クローズの流れにどうしてもできなかったので質問させていただいた次第でした。

    現状は、
    selenium basicインストール→一度手動でexeを更新→マクロスタート→自動更新走る→スクレイピング→クローズになってしまっているので何だかなぁな状態でした。

    もう少し追ってみます

    No.2の回答に寄せられた補足コメントです。 補足日時:2022/10/03 21:37

A 回答 (3件)

こんにちは


edgedriver.exeのバージョン情報は照合で使うのかな?
DriverのDownloadには必要ないようですが・・・

>→添付画像のところでエラーが出ます
  見たところ、デフォルトインストールされるedgedriver.exeのバージョン情報が引っ張れないようです

edgedriver.exeのバージョン情報が取得できれば良いのでしょうか?

Exceでは無いですが、GetFileVersionで取得できると思うのですが
On Error Resume Next
Const driverPath = "C:\xx\Local\SeleniumBasic\edgedriver.exe"
Dim strVer As String
strVer = CreateObject("Scripting.FileSystemObject").GetFileVersion(Filename:=driverPath)
If Err.Number <> 0 Then Debug.Print Err.Number & " " & Err.Description: Exit Sub
Debug.Print strVer

だれつですが、どうでしょう
    • good
    • 0
この回答へのお礼

回答が遅くなり申し訳ありませんでした

いただいた内容にて試してみたいと思います

お礼日時:2022/10/22 16:23

No1です。



補足を読む限りご自身でデバッグなさる気はなさそうに感じましたので、いっそのことこんなのを利用なさったほうが賢明ではないかという気がしますが・・・

https://github.com/yamato1413/WebDriverManager-f …
この回答への補足あり
    • good
    • 0

こんにちは



内容は確認していませんけれど・・

正規表現で検索する前のretの内容を確認してみれば、原因がわかるのではないでしょうか?
この回答への補足あり
    • good
    • 0

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