それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

AnguarJS のng モデルにchromeコンソールから入力する。

angular のモデルに変数を突っ込む

angular のモデルに直接値を突っ込んでもHTML要素の書き換えは反映されない。

ng-model を探す

angular を呼び出して。html element からスコープを取り出す。

var scope = angular.element(document.querySelector('input[name=nationalId]')).scope();

新生銀行での例

f:id:takuya_1st:20211215015549p:plain

modelをscope で探して apply する。

var scope = angular.element(document.querySelector('input[name=nationalId]')).scope();
scope.$apply(function() {
  scope.nationalId='123456789'
  scope.password='AAAAAAAAA'
});

これで、だいたい動く。angarJSなので、typescriptベースのangularでも動くかは試してないから、apply がどのバージョンまで動くかはわからない。

Angularの場合は、次で動くはず。

ng.probe($0)

document.forms[] や HTMLElementを使うところから比べるAngularは自己完結なのでちょっとめんどくさいですよね。

AngularJS/Angular に特化するより、DOMのInput系のイベントをファイアしたほうが楽だと思う。

今後、webasembly とか出てきたらスクレーパーはどんどん難しくなっていくだろうな辛い。