如何获取 java selenium 中下一个元素的值

How to get the value of next element in java selenium

我总共有 3 页,所有这三页都包含电子邮件 ID,我想要使用 java selenium 的电子邮件 ID。但是所有三个页面都包含不同格式的电子邮件字段,我希望在一个代码中使用它,因为我正在使用 for 循环来获取该电子邮件 ID。

第 1 页:

<p>Test1</p>
<p>abc@abc.com</p>

第 2 页:

<p>
   <br>Contact:<br>  
   Test2
</p>
<p>
   <br>Email:<br>  
   xyz@xyz.com
</p>

第 3 页:

<p>
   <br>Contact:<br>  
   Test3
</p>
<p>
   <br>Email:<br>  
   pqr@pqr.com
</p>

那么我将如何在一个代码中获得此电子邮件 ID。

我试过了

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

但是我得到了那个变量中的 "email" 但没有得到它的值。

试试这个代码:

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

这应该得到包含电子邮件的 P 标签的全部内容

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

将文本作为字符串获取后,您可以拆分或使用字符串生成器构建实际的电子邮件。

希望这对您有所帮助