2016-06-29 3 views
1

저는 셀레늄 파이썬과 상추를 사용하여 django 응용 프로그램을 테스트하고 있습니다.
Selenium python에서 xpath 패턴을 사용하여 요소 찾기

다음 패턴에서 xpath를 갖는 많은 요소가 있으며이 요소 중 몇 개가 문서에 존재하는지 알 수 없습니다.

.//*[@id='accordion-note-1'] 
.//*[@id='accordion-note-2'] 
.//*[@id='accordion-note-3'] 
.//*[@id='accordion-note-4'] 

driver.find_elements_by_xpath에 패턴을 사용하는 방법은 없나요?
기본적으로 내 목적은이 xpath 패턴을 갖는 모든 항목을 가져 오는 것입니다.

+1

처럼 여기에 포함 된 링크를하다 if xpath 1.0 -'.//*[starts-with(@id, 'accordion-note')] ' – splash58

+2

내가 사용하는 버전을 모르겠다? @ splash58 ..... 알아내는 방법? –

+0

나는 셀레늄에 대해서도 잘 모른다. 아래의 대답이 오류를 반환하면 내 표현 – splash58

답변

5

확실하지이 작동하지만 당신이 아래 XPath를 사용하여 시도 할 수 있습니다 : 여기

.//*[starts-with(@id, 'accordion-note')] 

유도 사용할 수 있습니다 http://www.zvon.org/xxl/XSLTreference/Output/function_starts-with.html

.//*[contains(@id, 'accordion-note')]  
+2

나는 이렇게 대답했다. ** world.driver.find_elements_by_xpath (".//* [일치 (@ id, '아코디언 - IT - \\ d +')] ') **. 그리고 이것은 내가이 오류가있는 오류입니다. ** 주어진 selector .//*[matches(@id, 'accordion - IT - \ d +')]가 유효하지 않거나 WebElement **가되지 않습니다. –

+0

그래서 무슨 일이 있었습니까? – noor

+1

효과가 없습니다. 위의 코멘트를하려고 할거야. 다른 사람도 대답 할 수 있도록 질문을 upvote하시기 바랍니다. –

관련 문제