如何获取此元素的文本

How to get the text of this Element

如何从下面提供的 html 中获得 物品 - mar3 已被授予另一位旅行者。 文本?

我的脚本。

package garbage;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class mailinator {
 static WebDriver driver;

    public static void main(String args[])
    {
        driver=new FirefoxDriver();
        driver.get("http://www.mailinator.com/inbox.jsp?to=679jcscqgtm1guuq09aef3mofu");
        driver.findElement(By.xpath("//*[normalize-space(text())='Item awarded']")).click();
        // driver.switchTo().frame("rendermail");
           System.out.println(driver.findElement(By.xpath("html/body/div[1]/div/div/table[1]/tbody/tr/td[2]/div/table/tbody/tr/td/p[3]")).getText().trim());


        }
}

而且,HTML

<p>
Item - 
<b>mar3</b>
 has been awarded to another traveler.
</p>

还有图片here

我编辑了你的post。我的理解是您只需要 Item awarded 文本。如果是这样 尝试

//ul[@id="mailcontainer"]/li[1]/a/div[2]

我也认为,根据您的评论,内容在 iframe 中。所以你必须使用

driver.switchTo().frame(driver.findElement(By.cssSelector("[name='rendermail']")));

String text = driver.findElement(By.cssSelector("p:nth-child(3)")).getText();

System.out.println(text);

刚刚测试。上面的代码完美运行。