2017-01-10 3 views
1

'검색'링크를 찾으려고하는데 다음 오류가 발생합니다 : org.openqa.selenium.NoSuchElementException : 요소를 찾을 수 없습니다 : { "method": "link 텍스트 ","선택 ":":요소 링크를 찾을 수 없습니다.

<li onclick="submitSelectedTab('tabSelected', 'TabGroup1', '12');" title="Search"> 
    <a href="#"> 
     <span>Search</span> 
    </a> 
</li> 

내가 사용하려고 코드는 나는 또한 시도했다

driver.findElement(By.linkText("Search")).click(); 

했다 : 01 검색은 "}

나는 방화범을 사용하여 객체를 검사driver.findElement (By.partialLinkText ("Search")). click();

또한 다음과 같이 나온 IDE를 실행 해 보았습니다. 오류 : [예외 : [지원되지 않는 명령 [waitForPopUp | _blank | 30000]]

driver.findElement(By.cssSelector("li[title=\"Search\"] > a > span")).click(); 

위 코드는 작동하지 않았습니다.

차이가 있지만 해당 페이지로 이동하기 위해 새 탭이로드되었는지는 확실하지 않습니다.

+0

예, 그것은 새 탭이로드 차이가 있습니다. : D 새 탭을 여는 이유는 무엇입니까? – acikojevic

+0

처음 게시 할 때까지 오지 않았습니다. 위의 html로 충분합니까? –

+0

예, 로그인 한 후 내 UAT 환경이로드되는 방식입니다. –

답변

1

당신은 당신은 다음과 같은 코드를 시도 할 수 있습니다 새 탭

// get original tab handle 
String currentHandle = driver.getWindowHandle(); 

// open the new tab here 

// switch to the new tab 
for (String handle : driver.getWindowHandles()) { 
    if (!handle.equals(currentHandle)) 
    { 
     driver.switchTo().window(handle); 
    } 
} 

driver.findElement(By.linkText("Search")).click(); 

// close the new tab and switch back to the old tab 
driver.close(); 
driver.switchTo().window(currentHandle); 
+0

매력처럼 작동했습니다. 당신은 최고입니다. 감사 :) –

0

로 전환해야합니다

driver.findElement(By.xpath("//span[contains(text(), 'Search')]")).click(); 
관련 문제