2017-04-18 3 views
0

enter image description here enter image description here 에 모든 보고서의 헤더 타이틀을 수집하는 방법 : 작업 한 각 보고서 링크 하나를 클릭하고 보고서 페이지에서 보고서의 헤더 타이틀을 얻는 것입니다.이 응용 프로그램에서 응용 프로그램

그래서 보고서가 데이터와 함께 제대로 열리는 지 확인합니다.

모든 보고서에는 일반적인 x 경로가 없으므로
보고서 머리글을 캡처하려면 일반 x 경로를 적용합니다. 다음은 보고서 페이지의 제목 목록을 제공합니다 ..... 나중에 0 인덱스가있는 제목. 메인 헤더

문제 1 :이 x 경로는 아무런 의미가 없으며 아무 것도 찾지 못하고 .....이 보고서에는보기 단추가 있습니다 ... 보고서를 클릭하면 보고서가 열립니다

문제 2 : 그들을 잡기 어렵다 4 점 (80)의 같은 보고서가 ...... : 형식을 향하고하는 중 오른쪽 또는 왼쪽

내 코드에 따라 정렬입니다 몇 가지 보고서가있다 슬롯. 보기 버튼 번째 아래 있으면

@FindAll({ 
    @FindBy(how = How.XPATH, using = ".//table//tr[1]/th") 
}) 

public List<WebElement> view_ReportPDf_page; 

List<WebElement> lis= namedreportviewlinks;  
///// TO get the report links within 
int count=0; 
for (int j = 0; j < lis.size(); j++) { 
WebElement e2 = lis.get(j); 
((JavascriptExecutor) 
driver).executeScript("arguments[0].scrollIntoView(true);",e2); 

e2.click(); 
for (String winHandle : driver.getWindowHandles()) 
{ 
driver.switchTo().window(winHandle); 
} 
Thread.sleep(1000); 
List<WebElement> lis2= ld.view_ReportPDf_page; 
for(WebElement headers:lis2) 
{ 
headers=lis2.get(0); 
System.out.println(headers.getText()+"--------------------"+count); 
break; 
} 
driver.close(); 
count++; 
for (String winHandle : driver.getWindowHandles()) 
{ 
    driver.switchTo().window(winHandle); 
} 
} 
ld.Dnetsubcategoryreport_backbutton.click(); 

} 

답변

0
  1. : X 경로가 전혀 제공되지 여기서 페이지 팩토리를 사용 .... 볼 캐치 적용되어야 하는지를 로직 코드에 따라 첨부 에 도시 태그를 사용하면 findElements() 메서드를 사용하여이 버튼의 존재 여부를 확인할 수 있습니다. 있으면 링크를 클릭하고 보고서 링크를 클릭하십시오. 예 :

    경우 (driver.findElements (By.name ("보기")). 크기> 0) { 보기 버튼을 클릭합니다 // 논리} 다른 { // 보고서 링크를 클릭 }

  2. 보고서 테이블이 페이지의 유일한 테이블이면 tagName을 th로 사용하여 요소를 찾을 수 있습니다. (참고 :. 모든 보고서 링크가 일 태그 아래에 있어야합니다 다음이 방법을 적용 할 수 있습니다)이 도움이

희망!

+0

위의 두 이미지는 다음과 같습니다. 서로 다른 두 개의 보고서 페이지 ... 처음에는 링크 1을 클릭하는 것처럼 상상할 수 있습니다. - 가장 많이보고되는 보고서가 열리 며 다음으로 링크 2를 클릭하십시오. -보기 링크가있는 두 번째 보고서가 열립니다. 두 가지의 차이점은 다음과 같습니다. 하나는 텍스트로 직접 열리고 다른 하나는 "보기"링크로 열리 며, 클릭하면 같은 페이지에서 유사한 보고서가 열립니다. 헤더를 얻으려면 일반 x 경로를 만들었으므로 어떤 로직을 링크를보기 위해 전환해야합니까? –

+0

비슷한 논리를 적용 할 수 있습니다. 새로 열린 페이지로 전환하고,보기 링크가 있는지 확인한 다음 클릭하십시오. 그렇지 않으면 새로 열린 보고서 페이지에서 텍스트를 가져옵니다. –

관련 문제