2022/10/30

入金処理までは解読した

JRAの即PATでの入金処理はどうにか解読出来ました。諸々入力後に別ウィンドウ起動される対応は別WebView2コントロールを用意しておいてそちらに移管してそちらで続行すれば特に問題は無かった。最後の確認ダイアログでの対応が時間掛かりましたが無事クリア。

2つのWebView2コントロールをフォームに配置して、1つで即PATのログインを開始。加入者番号諸々入れてメニューにたどり着いて入出金指示すると別ウィンドウが起動される。ここでNewWindowRequestedが発生するのでそのイベント処理を追加しておき、そこで2つ目のWebView2コントロールに向けて、更にそのタイミングでAreDefaultScriptDialogsEnabledをfalseにしてScriptDialogOpeningイベントを追加。追加先でe.Accept()して無事に確認ダイアログもクリア出来た。

1つのWebView2コントロールで対処しようとするとセキュリティ面でなのかタイムアウトとか何とかのエラーで継続出来なかった。これももう少し理解すれば回避は出来たかもだけど、今回は深堀せずに進める。

AreDefaultScriptDialogEnabledプロパティにしても、ScriptDialogOpeningイベントの追加にしても、事前にしようとするとエラーになり、別ウィンドウ起動されてNewWindowsRequestedイベントハンドラ内で2つ目のWebView2オブジェクトに設定した後に設定しないと上手く行かないので苦労させられた。

ポップアップの阻止する記事を参考にどうにかたどり着けた😉

2022/10/29

自動投票に向けての調査

 自動投票実装に向けて色々と勉強中なんですが、Seleniumはflash(確か現在のJRAの即PATはなんだったかと)なんかには微妙らしいので、別な方法を模索中です。

WebView2での実装に向けて色々と調査してますが、INET-ID入力と加入者番号からの案内が表示された場合のスキップまでは簡単に行けそう。入出金画面は別ウィンドウが起動されるので、その対処をどうするか検討中です。

基本的には表示されているページにて入力項目でマウスの右クリックから「開発者ツールで調査する」を選択すると該当するソースの部分が表示されるので、その部分をマウスの右クリックで[コピー]→[JSパスのコピー]でコードをコピーし、メモ帳等に張り付け、ダブルクォーテーションをシングルに変え、入力タグには"value = '';"をボタンタグには"click();"を追加してソースの末尾に追加する。

webView.CoreWebView2.ExecuteScriptAsync($"該当コード");
でWebView2コントロールに指示する。

2022/10/18

自動投票機能実装に向けて

 他の方のツールに対応しての実装が楽ですが、まあ、それが無くなるとって心配と自分でやる場合の労力、サイト変更時の対応処理等、検討材料は多いのですが、取り合えず実装方向で作業を進めるうえで調査してます。

SeleniumIDEをEdgeのプラグインで入れて何となくイメージはつかめたので開催時にデータを取る必要がある。

アプリ的には実装するのに

  • Selenium.WebDriver
  • Selenium.Support
  • ブラウザに対応したDriver
が必要になる。NuGetで検索して入れる。

2022/10/09

Windows11 22H2のIMEがTARGETには合わない?

 メインで使っているのでBLITZさんにも問い合わせて、まあ、結論としてはWindows11 22H2のIMEと相性が悪く、Microsoft側の対処待ち? 詳細は不明だけど、TARGET側には落ち度はないという事なんだと。他の競馬ソフトも使っているけど、基本どのソフトもIME使って日本語入力する場面がないので試す事も出来ませんが😓 日本語入力しなきゃ問題ないので、互換モードも試してって言われたけど、互換モードだと起動時に確認出たりするので外しました。更に、一度諸々設定すれば基本的には日本語入力なんてしないし。

今回は本当にやらかしてるので、ほぼ全て設定しなおしです。記憶を辿ってどうにか復元完了したので予想に移ります😁 メモ帳で日本語入力しておいて、入れたい日本語をコピペでどうにかTARGETに設定してどうにか以前の様に戻せた。

2022/10/06

TARGETがぶんぶん落ちる

 先週末、いつもの様に競馬の作業してると何十年も使い続けている、まあ、JRA-VAN一押しのソフトですがTARGET frontierがデータがおかしい😣 本来出走歴がある馬なのに表示されないって事でデータ登録での修復を試みるが機能しないorz まあ、作者に問い合わせるのもどうかと思い、アンインストール後にJRA-VANよりフルセットアップ不要のやつをインストールしてみると、ひゃ~、残念、今までの設定が当たり前ですが全て飛んだ😱 これまで何度かPCの更新やらOSのクリーンインストールなんかもこなして来たけど、今回はやっちまった。まあ、それは自分のミスではありますが、その後、設定を色々と復元する作業に入ると、レース印を追加するのにIME使うと落ちる。更にそれ以降は何もしなくても落ちる。作者のBLITZさんに問い合わせるもWindows11 22H2のIME周りが起因なのでしばらくは様子見との回答。OSが用意してる互換モードを試してみればっとの助言頂いて試したが全くダメ。まあ、仕方ないのでこのまま使うしかないかな~っと。いや、データの整合性が取れなくなったのも、そもそもこちらの落ち度では無いと思うし、その解説を相談もせず処理したこちらが悪いとは思うけど...

まあ、脱TARGETしようと今のアプリ開発進めてるのでここはスルーで行こうとは思います。

にしても、少なくとも自分自身だけじゃないと思うんだよね~、22H2は。だってWindows11は今回のアップデートで大分良くなった気がするし😉

2022/10/02

Visual Studio Community 2022 Ver.17.3.5

 いつだったか記憶は定かじゃないけど、今回のバージョンでは問題がある。

テーブル・レイアウト・パネルの編集で英語表記になってる。次回のバージョンアップでは修正されるかとは期待するけど^^; 別に大きな問題じゃないが、こんな管理も出来ないチームが作るソフトを信頼して良いのかな?

今朝ってか昨晩からしてた作業が全てパーにorz やった作業が保存されずに消えました。試しに少し編集して保存終了し、Visual Studio自体も終了したのちに再起動して開いてみるとその少しの編集は反映されず元の状態にって。いろいろ眺めているとTableLayoutPanelが1つ増えてる。身に覚えのないやつで、プロパティで選択しても何処にあるのかさっぱりわからず、結局エディタでDesigner.csファイルを開いて自力で削除する。念の為、Visual Studioを一旦削除して再インストールしてみるが↑の英語表記なままで、まあ、編集結果が保存されない怪は消えた(笑)

まあ、考えられる事は自分が編集作業でラベルコントロールをクリックして選択し、コピー&ペーストしてる時に空振りでラベルの下にあるTableLayoutPanelが一緒に選択された事に気が付かずに張り付けた?そんな事すればビジュアル的に気が付くと思うが...まあ、謎ではあるけど作業は進めます。

追記: 2022/10/13
本日Visual Studioの更新があるのを発見し早速入れてみる。Ver.17.3.6です。↑の英語表記は健在。あまりにも早い更新だったので、こんな表記ミスは対処してきたか?って思ったんですがMSは期待を裏切りません😫