2016-06-17 2 views
0

초보자입니다. 셀레늄에서 pagelink 요소를 찾으려면 어떻게해야하나요? .셀레늄에서 태피스 트리 구성 요소를 찾습니다.

<li> 
    <t:pagelink page="NewCustomer" >New Customer</t:pagelink>          
</li> 

내가이 사용 : driver.findElement (By.partialLinkText ("NewCustomer을"))를 클릭합니다();

그러나 그것은 나를 위해 일하지 않았다. 제안 사항이 있으십니까? 감사합니다.

+0

시도해보십시오. xpath'// * [local-name() = 'pagelink'및 @ page = 'NewCustomer'] ' –

+0

도 작동하지 않았습니다.> –

+0

driver.findElement (By.linkText ("New Customer"))).딸깍 하는 소리(); 이것은 작동하지만 태그의 속성 중 하나를 사용하여 요소를 찾아야합니다. –

답변

0

브라우저에서 HTML 소스를 확인하십시오. Tapestry pagelink 구성 요소가 일반 HTML 하이퍼 링크 (아마도 < a href = "/ NewCustomer">)로 렌더링되는 것을 볼 수 있습니다. 그것이 Selenium이 찾아야 만하는 것입니다.

<li> 
    <t:pagelink page="NewCustomer" class="myNewCustomerLink">New Customer</t:pagelink>          
</li> 

//*[local-name()='a' and @class='myNewCustomerLink'] 
+0

답장을 보내 주셔서 감사합니다.하지만 둘 다 시도했습니다. 아무도 효과가 없습니다. –

0

당신은 driver.findElement(By.linkText("New Customer").click()을 사용할 수 있습니다 : 이런 식으로 뭔가 : 셀레늄 요소를 찾기위한

//*[local-name()='a' and @href='/NewCustomer'] 

그러나 더 나은 전략은 CSS 클래스 이름이나 ID를 다른 속성을 추가 할 수 있습니다 특별히 쉽게 만들려면 ,이 작동합니다.

관련 문제