まえふり
Sonyさんが提供してくれているtoio用のScatch実行環境があります。以下です。
これでアプリを作っているのですが、このScratchが認識しているtoioの座標を外部アプリに飛ばして連携したいことがありまして、@youtoyさんの記事を参考にさせてもらったんです。これが2年くらい前の話です。
具体的にはScratch内で認識したtoioのx,y座標をScratch画面に表示させて、そのタグ情報を取得して外部に渡す感じになります。詳しくは上記の記事を参照してください。
で、Scaratchの画面からタグへのパスをどうやって取ったかな。。。とちょっと考えてしまったので、せっかくなのでやるついでにメモしておいうというエントリーになります。スクレイピングではおなじみの方法だと思いますがすぐに忘れてしまうので。。。
方法
環境はChromeです。Scratchの画面を開いてx,y座標の情報を置き(赤矢印のところ)、あとは、開発者モードにして、①を選択し、あとはHTML内をクリックしながら x,y座標の情報(だけ)がハイライトされるまで もぐっていきます。
②までいきついたら、あとはそこで右クリックするとメニューが表示されるので③、④と選択します。すると、このタグまでのセレクタ情報がクリップボードに入りますので、あとは好きなところにペーストすればOKです。
ちなみに、この場合は、以下のような情報が取得できました。
body > div.index_app_3Qs6X > div > div.gui_body-wrapper_-N0sA.box_box_2jjDp > div > div.gui_stage-and-target-wrapper_69KBf.box_box_2jjDp > div.stage-wrapper_stage-wrapper_2bejr.box_box_2jjDp > div.stage-wrapper_stage-canvas-wrapper_3ewmd.box_box_2jjDp > div > div.stage_stage_1fD7k.box_box_2jjDp > div.stage_monitor-wrapper_2w6m8.box_box_2jjDp > div > div > div:nth-child(1) > div > div > div > div.monitor_value_3Yexa
これを実際に使うときには以下のように書いて、あとは、これを定期実行するようにsetIntervalする感じになります。
const x = document.querySelector("上記のパス情報");
以上、メモでした。