2012-07-31 4 views

답변

6

: 당신이 RSpec을 사용하지 않는 경우

page.should have_css('div.a.b') 

, 그것은이의

page.has_css?('div.a.b') 

을하는 일치 할 것입니다

<div class="a b">하지만 <div class="a">

+0

그거야. XPath로 할 수 있습니까? –

+1

예.하지만 더 추합니다. http://stackoverflow.com/questions/3881044/how-to-get-html-elements-with-multiple-css-classes – AJcodez

5

이 작업을 수행 할 수 있습니다이 CSS 선택기 카피 바라에서 작동합니다

page.has_css?('div.a.b') 
+0

을이 RSpec에가, 그렇지 필요? –

+1

예. RSpec을 원하지 않는다면'page.has_css? ('div.a.b')'를 사용할 수 있습니다. – Dougui

2

의 XPath 솔루션 :

사용는 :

div[contains(concat(' ', @class, ' '), ' a ') 
    and 
    contains(concat(' ', @class, ' '), ' b ') 
    ] 

이 누구 class 속성 클래스 "a""b" 모두 포함 컨텍스트 노드의 div 아이를 선택합니다. 이 div을 선택한 어떤의 class 속성이 정확히 (만)이 두 클래스와 다른 클래스를 포함해야하는 경우

,를 사용

div[contains(concat(' ', @class, ' '), ' a ') 
    and 
    contains(concat(' ', @class, ' '), ' b ') 
    and 
    string-length(normalize-space(@class)) = 3 
    ] 
관련 문제