tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルedgeのコントロールその2 edgeを終了させない
記事No16596
投稿日: 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は残りますが
 コマンドプロンプトが残存 =>ユーザーに不評、コマンドプロンプトを見せない方法がありますか

こんな感じです。何かよい知識はございませんか

 




  

[ツリー表示へ]