自動化している新しいページがあり、ブートストラップ テンプレートに含まれる機能の一部が自動化を複雑にしています。
伝統的に、チェックボックスまたはラジオ ボタンでは、タグを使用して識別します。
[FindsBy(How = How.CssSelector, Using = "body [autotag='prf_rd_1']")]
private IWebElement myElement;
その時点で、Webdriver コードで element.isSelected を使用して、チェックされているかどうかを確認できます。
ただし、ブートストラップ開発者は、アクティブまたはアクティブでないボタンを使用するように変更しました。たとえば、次のようになります。
<button class="btn" autotag="prf_bt1" btn-radio="availabilityType.key" ng-model="model.availability.time" type="button"> … </button>
<button class="btn **active**" autotag="prf_bt1" btn-radio="availabilityType.key" ng-model="model.availability.time" type="button"> … </button>
(うーん、コードスニペットでアクティブという言葉をどのように高く評価するかわかりません。誰かが知っていれば、自由に編集してください)
そのため、チェックボックスのように機能しないため、「isSelected」を探すことができません。
XPATHを使用せずに、ボタンのcssにアクティブなクラスがあるかどうかを判断するためのコードサンプルはありますか? 現在、上記のように CssSelector を使用しており、この方法で要素を移動したり、テキストを変更したりできますが、自動タグがまだそこにある限り、すべて問題ありません。ただし、これを行う方法と、他の CSS (クラス) を同時に探して、アクティブかどうかを判断する方法がわかりません。