2017-11-02 15 views
4

WebElement가 선택되었는지 확인하고 싶습니다. 이 요소는 다음과 같이 HTML에서 (선택한 경우) 존재 :WebElement가 선택되었는지 확인하는 방법

<span id="user-settings-price-preview-checkbox" class="user-settings-selector-checkbox active"></span>

때 선택하지 않은 :

<span id="user-settings-price-preview-checkbox" class="user-settings-selector-checkbox"></span>

나는 그것을 확인할 수있는 방법 셀레늄과 TestNG를 사용합니까?

들으

+0

을하지만, Selenium Java API에는 "isSelected"메소드가 있습니다. – IamBatman

+0

'_driver.findElement (By.xpath ("XPath Locator")). isSelected();' http://seleniumtwo-by-arun.blogspot.com/2013/06/76-using-isselected-predefined- method.html – IamBatman

답변

1

WebElement 선택하거나되지 않은 경우 당신이 시도 할 수 있습니다 확인하려면 다음

String attr = driver.findElement(By.id("user-settings-price-preview-checkbox")).getAttribute("class"); 
    if(attr.contains("active")) 
     System.out.println("WebElement selected"); 
    else 
     System.out.println("WebElement NOT selected"); 
+0

그게 내가 원하는거야! 많은 Thx! –

+3

상태가 사용자 지정 스타일에 적용 되었기 때문에이 방법을 사용하지 마십시오. 요소에 예상되는 색, 경계선이 있는지 확인하기 위해 계산 된 스타일을 평가해야합니다. 클래스를 검사하는 것은 '활성'클래스와 일치하는 CSS의 이름을 바꾸거나, 누락되거나 스타일을 무시하는 다른 CSS 규칙으로 인해 무시됩니다. –

0

코드 :이 이미 대답되었습니다 알고

String classAttribute = driver.findElement(By.id("user-settings-price-preview-checkbox")).getAttribute("class"); 

boolean isItemSelected = classAttribute.endsWith("active"); 

Assert.assertTrue(isItemSelected);