質問
2021年2月22日月曜日 7:06
先日はedgeドライバーの配置についてのご回答ありがとうございます
有益な回答だったので、申し訳ありませんが連続質問させていただきます
vba ; selenium ; crhomeにて 先にブラウザを起動させておき [ログイン]処理と、[情報取得]の部分を分けて構築することができました
function Login as string
'Chromeを単体で起動
'Shell "C:\Program Files\Google\Chrome\Application\chrome.exe --remote-debugging-port=9222 --user-data-dir=C:\Temp_ForChrome"
Dim Driver As New Selenium.ChromeDriver
'起動済のCromeに接続
driver.SetCapability "debuggerAddress", "127.0.0.1:9222"
driver.start
objSL.FindElementByName("login").Click '-->ログイン処理
end function
function GetValue as string
Dim Driver As New Selenium.ChromeDriver
'起動済のCromeに接続
objSL.SetCapability "debuggerAddress", "127.0.0.1:9222"
objSL.start
'検索ボタンをクリック
objSL.FindElementByName("search").Click
end function
これはうまくいっているのですが(問題があればご指摘いただけると幸いです)
edgeにするとうまく動作しません
'Edge(ver88)を単体で起動
Shell "C:\Program Files (x86)\Microsoft\Edge\Application\msedge --remote-debugging-port=9222 --user-data-dir=C:\Temp_ForEdge"
Dim Driver As New Selenium.EdgeDriver
'起動済のCromeに接続
driver.SetCapability "debuggerAddress", "127.0.0.1:9222"
driver.start '==>ここで新規edgeウィンドウが起動する
edgeでは無理なのでしょうか
よろしくお願いします
すべての返信 (2)
2021年2月22日月曜日 11:15 ✅回答済み
特に調べていませんが、
https://github.com/florentbr/SeleniumBasic/releases/tag/v2.0.9.0
SeleniumBasicは最終更新日が2016年とかなってますし、ChromiumなEdgeはまともにサポートされていないのではないでしょうか。
// むしろそれなりに動くと聞いてびっくり。
VBA / Office / SeleniumBasicでは試していませんが、C# / .NET Framework 4.8 / Microsoft.Edge.SeleniumTool を使ってChromiumなEdgeの既存インスタンスにアタッチできることは確認したので、SeleniumBasicの制限かと思われます。
// なおMicrosoft.Edge.SeleniumToolはVBAから使えるライブラリではありません。
2021年2月24日水曜日 5:38
Hongliangさん。お返事ありがとうございます。
そうですか、やっぱりだめなのですね