0

我正在编写一个测试,我需要将 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价值。

4

2 回答 2

1

尝试使用此代码:

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

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

于 2013-07-09T06:52:12.853 回答
1

尝试这个:

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

但是,这应该与 相同getText(),所以我怀疑这是否可行。

也尝试更改您的定位器:

WebElement trackingNumber = driver.findElement(By.xpath("//h6[@class='tracking-number muted']"));
System.out.println(trackingNumber.getText());
于 2013-07-09T22:21:08.803 回答