2011-10-03 3 views
1
css=table#playlistTable tr:nth(0) span[class='playlistNumDisplay smallFont'] 

위의 CSS에서 오류가 발생합니다. 기본적으로 'PlaulistTable'의 첫 번째 'tr'로 이동 한 다음 첫 번째 'tr'아래에서 span [class = 'playlistNumDisplay smallFont']을 선택하려고합니다.css query for selenium

여기서 내가 뭘 잘못하고 있니? 도움을 주셔서 감사합니다.

답변

0

:nth(0)은 유효하지 않은 CSS 일 뿐이므로 :nth-child(1) 또는 :nth-of-type(1)을 의미했을 수도 있습니다.

특히 첫 번째 경기를 찾고있는 경우 nth-() 변종보다는 :first-child 또는 :first-of-type을 사용할 수도 있습니다. 도움이

희망 (I가이 셀레늄 쿼리의 맥락에서 귀하와 관련 될 것이라고 생각하지 않습니다하지만, 브라우저 호환성 차트와 함께)

쿼크 모드는 여기에 사용할 수있는 선택기 http://www.quirksmode.org/css/contents.html의 좋은 목록을 가지고 .

+0

@BoltClock - 당신 말이 맞아요. 그들은 1에서 시작합니다. 나는 그것을 (0) 대신에 (1)으로 조정했습니다. (제 생각 엔 그는 CSS를 이것을 xpath 쿼리에서 기존의 xpath 쿼리로 변환했습니다.) – Spudley

+0

nth-child (0)는 아무 것도 선택하지 않습니다. 그 종류의 첫 번째 아이를 선택해야합니까? 또는 nth-child()에 대해 0 대신 1부터 계산이 시작된다는 의미입니까? – Sunny

+0

@Sunny : 예, 1부터 시작합니다. – BoltClock

0

Selenium과 복잡한 CSS를 재생하려고하지 마십시오. jQuery에서 익숙한 것을 시도해 볼 수는 있지만, CSS 나 현재 사용중인 브라우저에서 지원하는 CSS의 최신 버전에는 존재하지 않습니다. 'nth'가이 예일 수 있습니다. 당신이 일치하는 신경, 그리고 선택의 어떤 부분이 다른 요소와 중복되지 않는에 따라, 더 그것을 단순화도 고려해 볼 수 있습니다

css=table#playlistTable tr:first-child span.playlistNumDisplay.smallFont 

:

그래서, 그것을 단순화.

.

참고 ([class='...'] 같이) :nth-child() 및 속성 값 선택기는 다른 것보다 제 더 브라우저 지원 의미 CSS 3 동안 :first-child는 CSS 2.1된다.

. 물론
How do I add a JQuery locators to Selenium Remote Control
가 jQuery를 지원하는 페이지로 제한됩니다뿐만 아니라 도움이

한 가지에서 구현 될 수있는 jQuery를 로케이터를 사용하고 있습니다. BTW, 우리는 매우 큰 전자 상거래 웹 사이트에서이 정확한 것을 성공적으로 사용하고 있습니다.

+0

속성 값 선택자는 CSS 2.1에서 도입되었습니다. 속성 값 부분 문자열 선택기 만 CSS 3에서 새로 추가되었습니다. – BoltClock