見出し画像

阿修羅ワークス開発日誌 C# 自動操作ツールの目処がたった件

前回、Visual Studio C#で自動操作ツール開発にトライしていて、ブラウザの操作が出来なかった件だけれど、なんとか解決できそうという話。

Chromium系ブラウザを実装できるCefSharpというライブラリの存在を知って試しに導入してみたら、自動クリックに成功。これで一歩前進した。
ExecuteScriptAsyncというメソッドでJavaScriptを投げられるので、あとはJavaScriptで自動クリックさせる。
あるいは要素の座標を調べてマウスクリックさせることができる。

ただし、ある特定の要素を指定してクリックしたり、値を調べたりするのが面倒なので、結局はJavaScriptでライブラリを組むしかない。
C#やってて、JavaScriptやることになるとは思ったなかったが、HTMLが読み込まれたあとで動的にcreateElementで外部スクリプトを読み込ませれば良さげ。
jQueryライブラリを読み込んで、DOMをセレクタで操作できる。

それで、スクリプトの実行結果をC#側で受け取る場合はEvaluateScriptAsyncメソッドでできるらしい。
これでシナリオに沿って自動操作ができそうだ。
何をクリックするか、どの値を調べるかはJavaScriptを拡張して右ボタンでコンテキストメニューを開いて取得して記録していける。

記録ができたらあとは再生することができれば自動操作ができるのではないかと。
なにより嬉しいのは最近のJavaScriptでレンダリングされたデータをいじれるので、ほぼ全てのサイトを自動化できる可能性が高い。

Amazonの自動購入とか、メルカリの自動再出品なんかもできる←と思う。

この記事が気に入ったらサポートをしてみませんか?