IE自動操作の場合、起動しているブラウザをShell関数で捕まえなおすといったことはできましたが、
Seleniumの場合はそういうことはできません。
少し処理させれば起動しているブラウザを処理可能ですが、汎用性があるわけではありません。
Edgeで現在表示しているブラウザを操作するサンプルコード
Dim driver As New Selenium.WebDriver Public Sub sample() '■事前にコマンドライン引数 -remote-debugging-port=9222を指定したショートカット作成しておく。 driver.SetCapability "ms:edgeOptions", "{""debuggerAddress"":""127.0.0.1:9222""}" driver.Start "edge" driver.Get "https://vba-create.jp/" End Sub
注意点
- この設定をするとdriver.Start “edge”だけでは動作しなくなります。
- 事前にEdgeを立ち上げていないと、エラー発生します。(新規で立ち上げてくれることはありません)
関連記事
SeleniumBasicについて
Internet Explorer11 のサポート期限が2022年6月までと、スクレイピング自体入れ替えていく必要があります。
今一番スムーズなのはSeleniumBasicを使用したスクレイピングと考えます。
但し、VBAでのネット記事は少なく困っている方も多いと思います。
弊社で代行開発も可能ですので、お気軽にご用命ください。
コメント
[…] なお今回の記事は以下のサイトを参考にしています。Edgeで起動しているブラウザを操作する【Selenium】【ExcelVBA】Selenium + WebDriver + Edge でリモートデバッグポートが開いていないことがあるVBAを使ったものではありませんが、Seleniumを勉強する為の基本的な書籍です。ブラウザやキー操作の基本的なコマンドは共通していますのでコードを書く際の参考になります。 […]