我想从下面的一组代码获得标题文本“互动/夸大其词&狂欢调查分数/ CSS呼叫量”检索的第二个搜索结果标题属性文字:我无法从搜索结果列表
<div id="$searchResults_children" class="treeChildContainer" style="margin-left: 0px; display: block;">
<div id="$InteractionsAHT Call FactsTransfer Attempts" class="treeNode" style="display: block;">
<span class="masterTreeLine treeLine" style="display: block;">
<img id="$InteractionsAHT Call FactsTransfer Attempts_disclosure" src="res/v-0YH2UYTNo3k/s_Alta/uicomponents/obips.Tree/disclosure_collapsed.png" alt="" class="treeNodeDisclosure" style="visibility: hidden;">
<span id="$InteractionsAHT Call FactsTransfer Attempts_details" class="treeNodeDetails" title="Interactions/Inbound Call Facts/AHT Call Facts">
<img src="res/v-0YH2UYTNo3k/s_Alta/uicomponents/obips.Tree/measure.png" alt="" class="treeNodeIcon">
<span class="treeNodeText">Transfer Attempts</span>
</span>
</span>
<div id="$InteractionsAHT Call FactsTransfer Attempts_children" class="treeChildContainer"></div>
</div>
<div id="$InteractionsCSS Call VolumesTransfer %" class="treeNode" style="display: block;">
<span class="masterTreeLine treeLine" style="display: block;">
<img id="$InteractionsCSS Call VolumesTransfer %_disclosure" src="res/v-0YH2UYTNo3k/s_Alta/uicomponents/obips.Tree/disclosure_collapsed.png" alt="" class="treeNodeDisclosure" style="visibility: hidden;">
<span id="$InteractionsCSS Call VolumesTransfer %_details" class="treeNodeDetails" title="Interactions/Rant & Rave Survey Scores/CSS Call Volumes">
<img src="res/v-0YH2UYTNo3k/s_Alta/uicomponents/obips.Tree/measure.png" alt="" class="treeNodeIcon">
<span class="treeNodeText masterTreeLineSelected treeLineSelected masterTreeLineActive treeLineActive treeNodeFocusClass">Transfer %</span>
</span>
</span>
<div id="$InteractionsCSS Call VolumesTransfer %_children" class="treeChildContainer"></div>
</div>
</div>
代码:
List<WebElement> searchResults = driver.findElements(By.xpath("//div[@id='$searchResults_children']/div"));
for (WebElement searchResult : searchResults) {
String item = searchResult.getText();
if (item.equals(searchItemName)) {
WebElement tooltip = searchResult.findElement(By.xpath("//div[@id='$searchResults_children']/div[@class='treeNode']/span[@class='masterTreeLine treeLine']/span[@class='treeNodeDetails']"));
String tooltipName = tooltip.getAttribute("title");
System.out.println("Mertic: " + item + "\nTooltip: "+ tooltipName);
}
}
我试图找回的是标题文本“互动/夸大其词&狂欢调查分数/ CSS呼叫量”,这是第二个搜索结果。但是我从第一个结果中得到了标题。
我一直在想,因为我使用搜索结果来查找下一个元素,它应该一次只能容纳一个搜索项,但在这里并不是这样。
请建议。
右远,你正在做的一切硒去。我在c#中测试了你的代码,它运行良好,但你没有使用C#。这可能是斜线行为像分隔符或什么的问题。 tooltipName的价值是什么? –
IMO,大部分'id'在我看来都是动态生成的id。因此,您可能无法将使用'id'的节点与'$ searchResults_children'匹配。 – DebanjanB
@ chris-crush-code我得到的tooltipName的值是“Interactions” – TimeMuffin