HTML code:
<label id="busquedaSimpleForm:j_idt36" class="ui-outputlabel ui-widget">Results found: 2</label>
从上面的标签中,我想获得Results found: 2
值。
以下是我的Java源代码:
WebElement tf = driver.findElement(By.xpath("//label[@id='busquedaSimpleForm:j_idt36']"));
String fdl = tf.getAttribute("value");
System.out.println(fdl);
但是我的源代码输出变空了。
请帮我解决XPath上的问题。
答案 0 :(得分:0)
由于该HTML行中没有属性value
,您应该使用.getText()
,因为您正在寻找具有该ID的元素(假设没有其他元素使用相同的ID)您可以只做findElement(By.id(...));
:
WebElement tf = driver.findElement(By.id("busquedaSimpleForm:j_idt36"));
String fdl = tf.getText();
System.out.println(fdl);
答案 1 :(得分:0)
问题的解决方法是你必须得到innerHTML值。代码如下:
WebElement elem = driver.findElement(By.id("busquedaSimpleForm:j_idt36"));
String str = elem.getAttribute("innerHTML");
System.out.println(str);
希望它可以帮到你!
答案 2 :(得分:0)
要为提供的Results found: 2
检索文本HTML
,您可以使用以下代码行:
System.out.println(driver.findElement(By.xpath("//label[@class='ui-outputlabel ui-widget' and contains(@id,'busquedaSimpleForm:')]")).getAttribute("innerHTML"));
答案 3 :(得分:-1)
您可以使用此xpath: - //label[text()='Results found: 2']
似乎你的id是动态的,所以不要使用它