2017-11-27 12 views
0

enter image description here 셀렌 테스트를위한 요소를 찾으려고합니다. 나는 다음과 같은 xpath를 작성하려고했지만 그것은 나를 위해 작동하지 않습니다.div의 Xpath를 얻는 방법 값이 포함 된 속성이 포함됩니다.

내가 시도 :

//div[contains(@tb-test-id, 'Distribution')] 

참고 :

나는 내가 CssSelector 또한 XPath는 부모 노드와 콘크리트 자리의 ID를 기반으로 사용할 수 있다는 사실을 알고 : 사용도 tabZoneId115과 Xpath의 상대 경로. 이 시나리오에서는 몇 가지 다른 요소를 클릭하기 때문에 시나리오가 복잡해지며 수백 건의 테스트 케이스 요소를 작성해야합니다. 그래서 저는 하나의 테스트 케이스를 작성하고 데이터 구동 엑셀 시트를 제공하려고합니다. 따라서 사람들은 텍스트 상자의 제목 만 추가하여 테스트 케이스를 유지할 수 있습니다.이 경우 '배포판'은 텍스트 상자 보고서의 제목입니다.

나를 클릭하여 올바른 요소를 찾는 방법을 알려주십시오. 미리 감사드립니다.

+0

"* 나를 위해 효과가없는 것 같습니다"*는 무엇을 의미합니까? 정확히 무엇을 선택 하시겠습니까? – derloopkat

+0

selenium webdriver에서 실행하는 중에 오류가 발생합니다. 오류 : 요소를 찾을 수 없습니다. "배포"라는 제목의 섹션을 선택하고 싶습니다. 클릭 할 수있는 요소가 아니지만, 기본적으로 해당 웹 페이지에서 다운로드 할 기본 데이터를 선택하는 제목 영역을 클릭합니다.간단하게하기 위해 "배포"라는 제목을 클릭하고 싶습니다. – Ophelia

+0

Html 태그 또는 속성이 처음부터 존재하지 않을 수 있습니다. Selenium이이 오류를 발생시키기 전에 몇 초 동안 요소를 가져 오려고 계속 시도하도록 시간 제한을 설정하십시오. JavaScript로 Selenium을 사용하고 있습니까? – derloopkat

답변

0

귀하는 필요한 모든 세부 사항을 제공했으며 또한 귀하 자신의 질문에 답변했습니다.

CssSelector 또는 Xpath도 사용할 수 있습니다.

  • CssSelector

    div.tab-tiledViewer.placeholder.tab-widget.fade-in 
    
  • Xpath

    //div[@class='tab-tiledViewer placeholder tab-widget fade-in'] 
    
,369 : 당신은 다음 중 하나에 DistributionWebElementtext 세트를 얻을 수 있습니다

그러나 click() 메서드를 호출 할 수 없습니다. WebElement<div> 태그이며 onClick() 이벤트는 연결되어 있지 않습니다.

0

CssSelector는 내 문제를 해결하는 데 도움이됩니다. DIV [TB 테스트-ID '배포']

을 그리고 foreach 루프를 통해 실행하여 변수와 파라미터 :

일했다.

driver.findElement (By.cssSelector ("div [tb-test-id = '"+ 시트 이름 + "']")).

귀하의 모든 기여에 감사드립니다. 고마워요!