우리는 자동화 할 새 페이지를 가지고 있으며 부트 스트랩 템플릿을 통해 제공되는 일부 기능으로 인해 자동화에 몇 가지 문제가 발생합니다.Selenium Webdriver를 사용하여 요소의 활성 상태를 얻으시겠습니까?
전통적으로 체크 박스 또는 라디오 버튼으로, 우리는 그것을 식별하는 태그를 사용
[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 (클래스)를 찾아서 동시에 그것이 활성인지를 결정하고있다. 당신은 here에서 이러한 방법에 대한 자세한 정보를 얻을 수 있습니다
getAttribute
getCssValue
isEnabled
당신은 요소의 상태를 확인하려면 다음 방법 중 하나를 사용할 수 있습니다
나는 실제로'button [class ~ = 'active']'조금 더 관대하다. 그러나 더 나은 -'button.active'': D' – sircapsalot
그래, 클래스를 찾고있는 중이라면 내가 할 수 있지만,이 경우에는 cssselector로 autotag 속성을 찾고 있는데, 클래스에도 활성 태그가 있습니다. 내가 고심하고있는 것은 "한 걸음 씩"입니다. –
@MarkMayo, 제 편집이 도움이됩니까? – Arran