タイトル | : edgeのコントロールその2 edgeを終了させない |
記事No | : 16596 |
投稿日 | : 2020/10/20(Tue) 20:42 |
投稿者 | : でふぁいあんと |
お世話になります。先日は同タイトルにて質問させていただきました。 Seleniumによる、Edgeのコントロールについて大体理解しました。
あるサイトへのログインするプログラムです。
Dim objEG As New Selenium.EdgeDriver
objEG.Start objEG.Get "https://www.hogehoge.co.jp" objEG.FindElementById("user").sendkey "IDID" 'ユーザー名入力 objEG.FindElementById("submit").submit 'ログイン
''''いろいろやる''' objEG.quit '閉じる set objEG = Nothing
そこで質問なのですが、今回実現したいのは プログラムではログインだけして、後はユーザーが自由にブラウザの操作をする という方針です。
従来のwebbrowserでは、プログラム中でquitしなければ、Egdgブラウザが残存したので、 簡単に実現できたのですが Edgedriver(↑)の場合は、quitがあってもなくても Dim objEG As New Selenium.EdgeDriver を呼び出したモジュールが終わると、、 Edgeが終了してしまいます。
対応方法をいろいろ調べて (1)起動を別プロセス?にしてそれを捕まえる CreateObject("Shell.Application").ShellExecute "microsoft-edge:https://yahoo.co.jp" =>この後捕まえる方法がわからない (2)webdriverからの呼び出し With CreateObject("WbemScripting.SWbemLocator").ConnectServer.Get("Win32_Process") .Create "edgedriver.exe" & Options, DriverFolderPath, Null, pid objSL.StartRemotely "https://yahoo.co.jp:" & "17556" & "/", "MicrosoftEdge" ’かなり略してます ~=>webのコントロールは可能、プログラムを終了してもedgeは残りますが コマンドプロンプトが残存 =>ユーザーに不評、コマンドプロンプトを見せない方法がありますか
こんな感じです。何かよい知識はございませんか
|