我們已經有了一個新的頁面,我們正在實現自動化,並且一些使用bootstrap模板的功能會導致自動化的一些複雜性。使用Selenium Webdriver獲取元素的活動狀態?
傳統上有一個複選框或單選按鈕,我們使用一個標籤來識別它:
[FindsBy(How = How.CssSelector, Using = "body [autotag='prf_rd_1']")]
private IWebElement myElement;
此時您可以使用element.isSelected在webdriver的代碼,看看它是否打勾。
然而,引導開發者已經改變了使用一個按鈕,或者是主動或不活動,如:
<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',因爲它不像複選框那樣工作。
有沒有人有代碼示例來確定一個按鈕是否在其CSS中沒有使用XPATH的活動類?目前我們會像上面那樣使用CssSelector,通過這種方式,元素可以移動,文本可以改變,但只要該自動標記仍然存在,就很好。但是,我不清楚我該如何做到這一點,並同時尋找其他CSS(類)來確定它是否處於活動狀態。
我實際上更喜歡'button [class〜='active']'稍微寬鬆一些。但更好 - 'button.active'':D' – sircapsalot
是的,我可以做到這一點,如果我只是在尋找類,但在這種情況下,我正在尋找與cssselector autotag屬性,然後想知道是否它在課堂上也有一個活躍的標籤。這是我一直在努力的「一步」。 –
@MarkMayo,我的編輯幫助嗎? – Arran