我正在编写一个测试,我需要将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
值。
答案 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());