我总共有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();
但我在该变量中收到了“电子邮件”,但没有得到它的价值。
答案 0 :(得分:2)
这应该包含包含电子邮件的P标签的全部内容
WebElement emailElement = driver.findElement(By.xpath("//p[contains(.,'@')]"));
String email = emailElement.getText().toString();
在将文本作为字符串获取后,您可以拆分或使用stringbuilder来构建实际的电子邮件。
希望这会有所帮助
答案 1 :(得分:0)
试试这段代码:
email = driver.findElement(By.xpath("//*[contains(text(), 'Email:')]/..")).getText();