自動化テストでラジオ ボタンをクリックしたい。ページにラジオ ボタンが表示されていても、選択されていないラジオ ボタンにはdisplayed:false
プロパティがあります。displayed:false
htmlオブジェクトにプロパティがある場合、Selenideは何とかクリックできません。エラーは次のとおりです。Element should be visible {By.id: radio_btn_id}
ここに私のラジオボタンがあります:
<input class="radio_class" id="radio_btn_id" name="radio_btn_name" type="radio" value="12" displayed:false></input>
プロパティを削除するために私が試したことと、それらのどれも機能していません
SelenideElement element = $(By.id(id));
Selenide.executeJavaScript("document.getElementById('radio_btn_id').removeAttribute('displayed:false')", element);
Selenide.executeJavaScript("document.getElementById('radio_btn_id').removeAttribute(\"displayed:false\")", element);
Selenide.executeJavaScript("jQuery('select:not(:visible)').css('display','block')", element);
selected:true
プロパティを削除しようとしましたが、うまくいきました。なぜそれが機能しないのかわかりませんdisplayed:false
。アイデアはありますか?
[編集] 受け入れられた回答はSelenium
バージョンです。それSelenide
はよりクリーンでシンプルです:
SelenideElement element = $(By.id(id));
Selenide.executeJavaScript("document.getElementById('"+ id+ "').click();", element);
[解決]