2017-04-18 1 views
-1

Im 자바 프로그래밍을 사용하여. 자, 여기 웹 코드;드라이버 셀레늄을 가진 요소를 찾으십시오

<button class="btn-link" data-sugg-sources="full_name" data-sugg-technik="make_initial_and_name">NG1ulkan</button> 

오른쪽 클릭하고 복사> CSS 선택기를 사용하면 웹에서이 코드를 제공합니다.

'.suggestions> UL : n 번째 자녀 (2)> 리 : n 번째 자녀 (1)> 버튼 : n 번째 자녀 (1)'

이제 질문은 : 어떻게이 요소를 찾을 수 있습니다 이 셀렉터와 어떻게 셀렉 티브 자바로 집중하고 클릭 할 수 있습니까? 또한 JavascriptExecutor js = (JavascriptExecutor) 드라이버를 사용합니다. 셀레늄의 자바 API에 초점

+0

을 할 수 그것의 클래스에 의해 요소를 찾지 못했습니까? –

+0

아니요, 5 가지 버튼이 있으므로이 선택기 '.suggestions> ul : nth-child (2)> li : nth-child (1)> 버튼에 따라 선택해야합니다 : nth-child (1)' – agean12

+1

Welcome 스택 오버플로! [ask]와 [연구 노력이 얼마나 필요합니까?] (https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users)를 읽어보십시오. 시도한 코드와 오류 메시지 등을 포함한 실행 결과를 제공해주십시오. – JeffC

답변

0

내 코드에서 당신은 WebDriver.findElementBy.cssSelector를 사용하는 겁니다 :

String selector = ".suggestions > ul:nth-child(2) > li:nth-child(1) > button:nth-child(1)"; 
WebElement button = driver.findElement(By.cssSelector(selector)); 

this StackOverflow answer을 참조하십시오.

0

.suggestions > ul:nth-child(2) > li:nth-child(1) > button:nth-child(1)cssSelector입니다. 그것은 단지 당신이이 요소를 클릭합니다 그래서 당신은 다음과 같은 코드를 사용할 수 있습니다 JavascriptExecutor를 사용하는 언급 한 바와 같이이 CSS 값

에 기초 것만, 웹 페이지에 존재하는 요소를 찾기 위해 XPath는 같은 : 당신을

js.executeScript("document.querySelector('.suggestions > ul:nth-child(2) > li:nth-child(1) > button:nth-child(1)').click();"); 
관련 문제