2013-08-02 10 views
0

웹 사이트에서 자동화를 시도하지만 특정 요소를 가져 오는 방법을 파악할 수없는 요소를 찾으려고합니다. 나는 아래 html을 제공했다. 입력 사항을 입력하십시오. 감사.Selenium Webdriver를 사용하여 요소 찾기

< 사업부 아이디 = "Troy_combine"클래스 = "sign_in_flow sign_in_flow_overlay troy_overlay epc_modal big_dialog modal_display"> = "마이그레이션"< H3 클래스> 다시 오신 것을 환영합니다. </h3> < h3 class = "normal"> 디즈니 랜드에 오신 것을 환영합니다. </h3> < p class = "migration">동일한 주소와 비밀번호를 사용하는 계정이있는 것으로 보입니다. 두 서비스에 더 쉽게 액세스 할 수 있도록 단일 계정에 결합합시다. </p>

참고 : 여러 개의 "이전"클래스가 있습니다. 어느 쪽을 데리러야하는지 어떻게 알 수 있을까요 ??

기울임 꼴로 표시된 텍스트를 가져 오려고합니다. 도움말 자바

클래스와 ID를 통해

답변

2

는 그래서 같은 cssSelector을 사용 :

String itext = driver 
    .findElement(By.cssSelector("div#Troy_combine p.migration")).getText(); 
+0

이름이 "migration"인 클래스가 여러 개 있습니다. 나는 'p'태그를 가지고있는 텍스트를 얻고 싶습니다. 위의 솔루션에서 예외가 발견되지 않았습니다. –

+0

'결합'과 'p'사이에 공백이 있습니까? 이제 아무 예외도 없지만 문자열은 공백으로 반환됩니다. –

+0

코드가 정확합니다. 'new WebDriverWait (driver, 10) .until (ExpectedConditions.textToBePresentInElement (By.cssSelector ("div # Troy_combine p.migration")) "동일한 주소를 사용하는 계정이있는 것처럼 보입니다. 암호를 사용하여 두 서비스에 쉽게 액세스 할 수 있도록 단일 계정에 결합합시다. ")) ' –

0

선택과

셀레늄 Webdriver

필요 항상 가장 쉽고 가장 신뢰할 수 있습니다. By.className("migration")하십시오.

0

findElement(By.cssSelector("div.migration")).getText();

난 당신이뿐만 아니라 ID하여 선택할 수있다 생각합니다.

관련 문제