ラジオボタンの状態取得の方法を教えてください。

imgyoyaku

Chromeで、「javascriptで開く画面」にある複数のラジオボタンの、
どこにチェックが入っているかを確認したいのですが、
うまくいきません!!!泣

■やりたいこと
画像のとおり複数あるラジオボタンのどの時間にチェックが入っているかを特定したい。

■構造
<div>
<input _ngcontent-cps-c15="" class=“field__input field__input–radio ng-untouched ng-pristine ng-valid” type=“radio">
<label _ngcontent-cps-c15=”" class="field__after-label">10:30</label>
</div>

■試したこと
その①
データスクレイピングで、データテーブルとして、
ラジオBtn項目と時間帯項目の2カラムで取得した
<結果>→ラジオボタンの項目は、すべて空欄でどこにチェックが入っているか不明 + 何度か試していると、データテーブル自体が取得できなくなる。

その②
テキストを取得(get text)アクティビティでラジオボタンの「checked」「unchecked」を取得できるものの、全時間帯をループで取得することが
できない。可変させられるセレクタ―がなかったため。

■現状の対処
すべての時間帯の数だけ、get textを置いて、1つ取得するごとに条件分岐を設置、「Checked」なら、次に進むシナリオにしている。

javascriptでinputタグにIDを付与できるのかなど調べて、試行錯誤しているところです。

どなたか対処法がお分かりの方がいらっしゃいましたらご教示ください。

こんにちは

具体的なページを評価しないと可否は分かりませんが例えば以下のような感じはいかがでしょうか?

  1. Get Text等で選択肢全体をテキストで取得。(すべての選択肢を1つの文字列変数に格納)
  2. 取得したテキストに対して改行やスペース(もしあれば)でのSplitや、正規表現マッチング(パターン例として \d{2}:\d{2} )で、各時間の文字列配列(リスト)として取得
  3. 相対セレクタで時間文字列をアンカーにして、対象のラジオボタンを指定
    (実際には文字列配列をFor Eachでイテレートし、時間文字列を動的に組み込む)
  4. Get Attributeなどで状態を取得して結果の配列なり辞書なりにセットする。
1 Like

こんにちは。
ご返答ありがとうございました。

以前、ご記載いただいた3.の部分でうまくいっていなかったので、
もう一度検証してみたところ、
時間文字列を動的にセレクタ―にセットする際、
’”+変数+”’としていた部分を{{変数}}に
書き換えたところ、
トリガーとなって動作するようになりました。
同じ変数のコードに変わりはないので不思議ですが、
なにはともあれ解決したのでよかったです。

とても参考になりました。ありがとうございました!

2 Likes

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.