2016-08-01 2 views
0

방금 ​​Selenium과 작업을 시작했으며 꽤 문제가 있습니다. 저는 동적 인 웹 사이트에서 일하고 있으며 Selenium이 항상 페이지의 상단 링크를 클릭하기를 바랍니다. 모든 링크는, 지금 xpath 문자열 'rList:0:itemFormClassic']/div로 시작, 그래서Xpath에 문자열이 포함되어 있습니다.

//*[starts-with(@id, ''rList:0:itemFormClassic']/div')] 

를 입력하지만이 작동하지 않는 경우 알고 싶습니다 다음 XPath는

//*[@id='rList:0:itemFormClassic']/div[2]/h2/span/a 

로 시작하는 기호 때문에 내 xpath에 이미 포함되어있는 '은 내 실제 문자열로 간주됩니다.

아무도 내가 그것을 피할 수있는 방법을 알고 있습니까?

+0

내가 셀레늄에 익숙하지 않은 해요,하지만 당신은' ''"'탈출하려고 않았다'? –

+0

큰 따옴표를 사용하여 문자열을 포함 시키려고 했습니까? 왜 xpaths가 시작하는지 확인하겠습니까? rList로 시작하는 id를 가진 요소에 대한 selector가 필요합니까? – lauda

+0

다음과 같이 시도하십시오 :'// * [starts-with (@id, "rList : 0 : itemFormClassic ']/div")]'..하지만 당신의 요소 id는''rList : 0 : itemFormClassic ']/div' ... ?? –

답변

1

큰 따옴표를 사용하고 이스케이프 처리하십시오. 이 작동합니다 :

driver.findElement(By.xpath("//*[starts-with(@id, \"'rList:0:itemFormClassic]/div\")]")); 
관련 문제