Рассмотрим следующий HTML-код.
<div id="tree" style="max-height: 300px; overflow-y: scroll;" class="treeview">
<ul class="list-group">
<li class="list-group-item node-tree" data-nodeid="0" style="color:undefined;background-color:undefined;">
<span class="icon glyphicon"></span>
<span class="icon node-icon glyphicon glyphicon-unchecked">
</span>
Apples
</li>
<li class="list-group-item node-tree" data-nodeid="1" style="color:undefined;background-color:undefined;">
<span class="icon glyphicon"></span>
<span class="icon node-icon glyphicon glyphicon-unchecked">
</span>
Bananas
</li>
<li class="list-group-item node-tree" data-nodeid="2" style="color:undefined;background-color:undefined;">
<span class="icon glyphicon"></span>
<span class="icon node-icon glyphicon glyphicon-unchecked">
</span>
Mangoes
</li>
<li class="list-group-item node-tree" data-nodeid="3" style="color:undefined;background-color:undefined;">
<span class="icon glyphicon"></span>
<span class="icon node-icon glyphicon glyphicon-unchecked">
</span>
Grapes
</li>
</ul>
</div>
Я пытался получить текст «Яблоки», «Бананы», «Манго» и «Виноград», используя
i = 1
m = 2
while i < m:
css_id = ".list-group-item:nth-child(" + str(i) + ") > .node-icon"
try:
fruit_text = driver.find_element(By.CSS_SELECTOR, css_id).text
print(fruit_text)
i += 1
m += 1
except:
i += 1
но в результате строки не были напечатаны.
Есть идеи, как ее решить?