|
分類:[VB.NET/VB2005 以降]
・対象 Chrome(64bit最新版) ・環境 vb.net .NET Framework 4.8 Windowsフォーム ・OS Windows10 Windows7
・状況 今現在Chromeの拡張機能を使用して閲覧制限をかけている社内サイトがあります。 そのサイトはファイルサーバの役目もしていて普段のファイルのやり取りに使用しています。 便利になったのは良いのですが今度は「自動でアップできるようにしたい」との要望がありまして。
Chrome自体はSelenium等で自動操作できる事は分かっているのですが拡張機能となるとどうなんでしょう?
案1.Selenium(ChromeDriver)でコントロール Chrome自体はできますが拡張機能もできる?(開けるところまでは確認)
案2.WebSocketでコントロール 拡張機能自体デバックできるので、WebSocket通信でコントロールできないか調査したのですが 対象ウインドウが何のポートで開いているのか?(そもそも開いている?)か不明の為却下。
案3.UIAutomationまたはMSAAでの操作 Windows10では項目取得できて成功したのですがWindows7では項目の取得ができなくて断念。 (inspect.exeで確認しても取得できませんでした)
案4.画像認証によるコントロール ウインドウハンドルは取得できるのでそこから画像を取得し解析して処理を行う ただChromeの拡張機能は開き方が2種類あって a.表示されているサイトから開くとウインドウタイトルありで表示される b.Chromeのツールバーから開くとウインドタイトルなしで表示される またWindows10とWindows7でWindows自体のサイズが違ったりしてパターンを揃えられない。 (Windows11とWindows8は未調査)
現状しょうがなく案4.で進めていますが他にこんな方法が考えられるよ等ございましたら 教えていただきたく思います。
個人的には案3.でWindows7も項目が取得できる状態が一番良いかとは思っています。
|