2017-09-07 39 views
0

我共有3頁,所有三個頁面都包含電子郵件ID,我希望使用java selenium的電子郵件ID。但是,所有三個頁面都包含不同格式的電子郵件字段,我希望在一個單一代碼中使用,因爲我正在使用for循環來獲取該電子郵件ID。如何獲取java selenium中的下一個元素的值

第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(); 

,但我得到了「電子郵件」在變,但沒有得到它的價值。

+2

而不是共享文本,共享html代碼和你正在嘗試的java代碼。 –

+0

@GaurangShah我編輯了我的問題。檢查一次。 – Hiten

+0

我非常確定Gaurang也意味着您正在嘗試的Java代碼。我們不是在這裏爲你寫代碼,而是爲了幫你編寫你自己的代碼。 – IamBatman

回答

2

這應該得到p標籤的全部內容,其中包含電子郵件

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

越來越文本字符串可以拆分或使用StringBuilder來構建實際的電子郵件後。

希望這可以幫助

+0

這正是我即將發佈的內容。儘管一個編輯,「email.getText()」需要是「emailElement.getText()」。 ;) – IamBatman

+0

它適合我。謝謝 – Hiten

0

試試這個代碼:

email = driver.findElement(By.xpath("//*[contains(text(), 'Email:')]/..")).getText(); 
相關問題