2012-02-21 2 views
1

셀레늄 webdriver에서 동적 대상으로 프레임을 감지하려고합니다. 다른 값이 존재하지 않는 대상 드롭 다운에서 셀레늄 IDE 내가 "selectframe"명령과 같은 프레임의 세부 사항을 얻고, Target="CitrixMainFrameWI_hghjghjhj355"에서 , 나는 명령셀레늄 webdriver에서 동적 프레임을 감지하는 방법은 무엇입니까?

driver.switchto().frame("CitrixMainFrameWI_hghjghjhj355")를 사용하여이 프레임을 감지했습니다. 하지만이 목표 값은 동적으로 생성되므로 오류가 발생합니다. 당신은 frame(index) 또는 프레임의 이름을 지정 만 CitrixMainFrame (contains("CitrixMainFrame")를 검색하여 그것을 시도 나에게이

+0

IDE의 드롭 다운을 클릭하면 XPath와 같은 더 많은 값을 얻을 수 있습니다. 너 그거 해봤 니? –

답변

0

사용이 :

// 먼저 프레임을 찾을 수 있습니다.

WebElement 요소 = driver.findElement (By.cssSelector ("div [id^= 'CitrixMainFrameWI_']")));

// id ^는 id가 주어진 값으로 시작한다는 것을 의미합니다.

// 태그를 지정하지 않으므로 div 태그로 가정합니다. 코드에 따라 변경하십시오.

driver.switchto(). 프레임 (요소);

0
String expectedFrameID="abc"; 
    List<WebElement> lst=d.findElements(By.tagName("iframe")); 
    System.out.println(lst.size()); 
    int flag=0; 
    for(int i=0;i<lst.size();i++){ 
     String actualFrameID=lst.get(i).getAttribute("id"); 
     System.out.println(lst.get(i).getAttribute("id")); 
     if(expectedFrameID.equals(actualFrameID)){ 
      flag=1; 
      break; 
     } 
    } 
if(flag==1){//perform operation on frame} 
관련 문제