获取h6 toString的值

时间:2013-07-08 21:35:20

标签: java webdriver selenium-webdriver automated-tests

我正在编写一个测试,我需要将h6元素的值转换为字符串,以便将其抛入查询中。

我尝试了以下内容:

WebElement trackingNumber = driver.findElement(By.xpath("/html/body/div/div/div[2]/div/div[4]/h6"));
System.out.println(trackingNumber.getText().toString());

这对我一无所知。

WebElement trackingNumber = driver.findElement(By.xpath("/html/body/div/div/div[2]/div/div[4]/h6"));
System.out.println(trackingNumber.toString());

这给了我gobbledygook。 [[FirefoxDriver: firefox on MAC (03665d0a-ebf8-164f-bf06-e13f4590e452)] -> xpath: /html/body/div/div/div[2]/div/div[4]/h6]

WebElement trackingNumber = driver.findElement(By.xpath("/html/body/div/div/div[2]/div/div[4]/h6"));
System.out.println(trackingNumber.getAttribute("value"));

这会返回null

当我运行测试时,我知道我正在寻找的价值就在那里,我只是想知道为什么我得到null值。

2 个答案:

答案 0 :(得分:1)

尝试使用此代码:

WebElement trackingNumber = driver.findElement(By.xpath("/html/body/div/div/div[2]/div/div[4]/h6"));
System.out.println(trackingNumber.getText());

无需添加" toString()"因为getText已经返回字符串值。

答案 1 :(得分:1)

试试这个:

System.out.println(trackingNumber.getAttribute("textContent"));

但是,这应该与getText()的行为相同,所以我怀疑这是否会奏效。

也可以尝试更改定位器:

WebElement trackingNumber = driver.findElement(By.xpath("//h6[@class='tracking-number muted']"));
System.out.println(trackingNumber.getText());