我们如何获得以下代码的元素的文本值。
代码:
<div class="ui-datepicker-title">
<span class="ui-datepicker-month">February</span>
<span class="ui-datepicker-year">2016</span>
</div>
我需要文字价值,例如&#34; 2016年2月&#34;
我尝试了这两个例子
String title = driver.findElement(By.className("ui-datepicker-title")).getAttribute("value");
System.out.println(title);
String title = driver.findElement(By.className("ui-datepicker-title")).getText();
System.out.println(title);
但无法获取此元素的文本值
driver.findElement(By.className("ui-datepicker-title"));
答案 0 :(得分:0)
原因是因为id ui-datepicker-title
没有值,它包含2个子html元素。
您需要执行以下操作才能获取值:
String month = driver.findElement(By.className("ui-datepicker-month")).getText();
String year = driver.findElement(By.className("ui-datepicker-year")).getText();
String result = month + " " + year;
System.out.println(result); // February 2016
*请注意,我不是Java人。
答案 1 :(得分:0)
尝试使用span标记的类名,因为文本存在于span内,而不是父div标记
String month = driver.findElement(By.className("ui-datepicker-month")).getText();
String year = driver.findElement(By.className("ui-datepicker-year")).getText();
或者如果页面中存在重复项,请尝试使用路径
String month= driver.findElement(By.xpath("//div[@class='ui-ui-datepicker-title']//span[@class='ui-datepicker-month'])).getText();
String year = driver.findElement(By.xpath("//div[@class='ui-ui-datepicker-title']//span[@class='ui-datepicker-year'])).getText();