2023年8月19日土曜日

現在のファイル名を古い名前に戻せば、あーらドライバーが働いてくれると言う、姑息なマイクロソフトの手法に驚く ー Selenium Edge WebDriver(VBAマクロ)

クリックしてみな
     
セキュリティアップで、VBAでネット情報がダウンロードできなくなりました。
今までは、”URLDownLoadToFile”関数が使えたのですが、どうもブロックだ。

ならばと、”Selenium Basic”をインストールしてダウンロードを代替します。
ブラウザー”Chrome”のドライバーを使いますが、”Edge”も同系統のブラウザ。

母体がクロミウムで開発されていますので、ドライバーさえあれば使えそうだ。
実際に過去のドライバーは、ダウンロ―ドもできてクローム同様に便利でした。

ところが、マイクロソフトが、ダウンロードのファイル名を変更したようです。
そのまま、VBAでファイルを使ったら、エラーが出てドライバーを認識しない。

Sub sample()
  Dim Driver As New Selenium.WebDriver
    Driver.Start "Edge", "URLを記述"  '→ Edgeで起動を指定
      Driver.Get "/" '→ ここでedgedriver.exeを読み込んで来る
    Stop '→ ブラウザを閉じないための中断状態にする
End Sub

どうも、ドライバー名が”msedgedriver.exe”へ変更れされていると判明した。
であるなら、Driver.Startで”Edge”から”MSedge”に切り替えたらどうなるか。

やってみると、エラーが出ますので、”Selenium Basic”は、”Edge”だけです。
何なら、新ドライバーのファイル名を旧ファイル名に戻して、コピペしようか。

正に、中国の「上に政策あり、下に対策あり」という現象に見習ったのですな。
実際にやってみたところ、あーら、ちゃんとブラウザが起動してくれて安堵だ。

以前も、このブラウザでは、起動アプリのプログラム名が変更されていました。
この時も、VBAコードを書き替えて対応した思い出があり、似たようなものか。

もっとも、このドライバーは頻繁に更新されるようなので、差し替えも必要ね。
ダウンロードで解凍して、コピペしたらドライバー名を旧名に戻して対応する。

というわけで、だいぶ前に開発の終了した”Selenium Basic”では変更もない。
他方、VBAだって2012年にリリースしたVer7.1が最終で、これ以上の変更はありませんから、似た者同士のお古なアプリを使うとして、マイクロソフトが姑息に変更を掛けるのも、新しいPythonやSelenium言語を使わせたくて必至なのだろう苦笑するのでした。

注:使用したExcelは、”Office365”版です。



いいねと思ったら、三つポチっとね!
にほんブログ村 スキースノボーブログへにほんブログ村 スキースノボーブログ スキーへにほんブログ村 旅行ブログ 旅日記・旅の思い出へ
にほんブログ村    にほんブログ村      にほんブログ村 



0 件のコメント:

コメントを投稿