我正在使用selenium webdriver和它的新功能。我需要帮助。 我的Xpath看起来像这样:
html/body/div[1]/section/div/div/div/div/div[1]/div[1]/div[2]/ul/li[1]/div/span
代码:
<div class="mod-content">
<ul id="issuedetails" class="property-list two-cols">
<li class="item">
<div class="wrap">
<strong class="name">Type:</strong>
<span id="type-val" class="value">
<img width="16" height="16" title="Provision access - HUE" src="/secure/viewavatar?size=xsmall&avatarId=10318&avatarType=issuetype" alt=""/>
Provision access - HUE
</span>
</div>
我想捕获文本“Provision access - HUE”。但是当我使用Selenium webdriver 2
时WebElement Type = driver.findElement(By.xpath("//*/span[@id='type-val]"));
System.out.println("Type is "+Type.getText());//Printing Type
我输出为“Type is Access Request”。
答案 0 :(得分:1)
我认为有多个span
元素具有类名value
,而您正在查找其他span
,因为findElement
始终返回第一个匹配的定位器元素,您需要要创建可以找到您的愿望元素的唯一定位器,可能id
在此处是唯一的,因此您应该尝试使用By.id()
,如下所示: -
WebElement Type = driver.findElement(By.id("type-val"));
System.out.println("Type is "+Type.getText());
如果此处id
也不唯一,请尝试使用xpath: -
WebElement Type = driver.findElement(By.xpath(".//strong[contains(text(), 'Type:')]/following-sibling::span[@id = 'type-val']"));
System.out.println("Type is "+Type.getText());