我有以下标记。
修改:添加了完整标记
<div id="SelectList">
<div class="select-area-left"></div>
<div class="select-area-right"></div>
<div id="SelectedOption">Option0</div>
<ul id="ShowOptions">
<li id="ShowOption0">Option0</li>
<li id="ShowOption1">Option1</li>
<li id="ShowOption2">Option2</li>
<li id="ShowOption3">Option3</li>
<li id="ShowOption4">Option4</li>
<li id="ShowOption5">Option5</li>
<li id="ShowOption6">Option6</li>
<li id="ShowOption7">Option7</li>
<li id="ShowOption8">Option8</li>
<li id="ShowOption9">Option9</li>
<li id="ShowOption10">Option10</li>
<li id="ShowOption11">Option11</li>
<li id="ShowOption12">Option12</li></ul></div>
我正在尝试使用以下代码打印出每个列表元素文本。
List<WebElement> allElements = driver.findElements(By.xpath("//div[@id='SelectList']/ul"));
for (WebElement element: allElements) {
System.out.println(element.getText());
}
但它只是给出了空白输出。有什么我想念的吗?
答案 0 :(得分:0)
请尝试以下代码:
List<WebElement> allElements = driver.findElements(By.xpath("//div[@id='SelectList']/ul/li"));
for (WebElement element: allElements) {
System.out.println(element.getText());
}
基本上你错过了在使用的xpath中指向 li 元素。上面的代码应该适合你。