0

총 3 페이지가 있으며 세 페이지 모두에 이메일 ID가 포함되어 있으며 자바 셀렌을 사용하여 해당 이메일 ID를 원합니다. 그러나 세 페이지 모두 다른 형식의 전자 메일 필드를 포함하고 있으며 for 루프를 사용하여 전자 메일 ID를 얻으므로 하나의 단일 코드로이 필드를 원합니다.자바 셀렌에서 다음 요소의 가치를 얻는 방법

페이지 1 :

<p>Test1</p> 
<p>[email protected]</p> 

2 페이지 :

<p> 
    <br>Contact:<br> 
    Test2 
</p> 
<p> 
    <br>Email:<br> 
    [email protected] 
</p> 

페이지 3 :

<p> 
    <br>Contact:<br> 
    Test3 
</p> 
<p> 
    <br>Email:<br> 
    [email protected] 
</p> 

그래서 하나의 코드에서이 이메일 ID를 얻는 방법.

나는
email = driver.findElement(By.xpath("//*[contains(text(), 'Email:')]")).getText(); 

을 시도했지만 그 변수에 "이메일"을 가지고 있지만, 그 값을하지 않았다. 이것은 당신이 분할하거나 실제 이메일을 구성하기 위해 모두 StringBuilder를 사용하여 문자열로 텍스트를받은 후 이메일을

WebElement emailElement = driver.findElement(By.xpath("//p[contains(.,'@')]")); 
String email = emailElement.getText().toString(); 

를 포함 P 태그의 전체 콘텐츠를해야

email = driver.findElement(By.xpath("//*[contains(text(), 'Email:')]/..")).getText(); 
+2

텍스트, 공유 HTML 코드 및 자바 코드를 공유하는 대신 공유하십시오. –

+0

@GaurangShah 내 질문을 편집했습니다. 한 번 확인하십시오. – Hiten

+0

나는 Gaurang이 또한 당신이 시도하고있는 자바 코드를 의미 했었다고 확신한다. 우리는 당신을 위해 코드를 작성하는 것이 아니라 자신의 코드를 작성할 수 있도록 돕기 위해 왔습니다. – IamBatman

답변

2

:

+0

이것은 게시하려고했던 바로 그 것입니다. 그래도 하나의 편집, "email.getText()" "emailElement.getText()"해야합니다. ;) – IamBatman

+0

그것은 나를 위해 작동합니다. 감사 – Hiten

0

이 코드를 사용해보십시오.

도움이 되길 바랍니다.

관련 문제