Хорошо, я думаю, у нас это есть.
Я использовал красивый суп - https://pypi.org/project/beautifulsoup4/ - который мы используем для просмотра классов HTML.
Как только селен загрузит страницу, возьмите html и используйте красивый суп, чтобы превратить его в то, что мы можем использовать - небольшой пример того, как это сделать ниже
from bs4 import BeautifulSoup
html = driver.page_source
soup = BeautifulSoup(html, 'lxml')
Учитывая, что у меня нетHTML, я сделал несколько небольших версий, которые соответствуют загруженным вами изображениям, ниже приведена открытая позиция, известная классу 'jstree-open'.
open = '''
<div id="tree" class="jstree jstree-1">
<ul class="jstree-container-ul jstree-children">
<li class="jstree-node jstree-last jstree-open">
</li>
</ul>
</div>
'''
open_soup = BeautifulSoup(open)
Используя селектор css, мыможет получить все имена классов li:
classes_of_open_li = open_soup.select('div#tree ul.jstree-container-ul li')[0].get('class')
print(classes_of_open_li)
out: ['jstree-node', 'jstree-last', 'jstree-open']
, мы можем затем проверить, является ли jstree-open одним из классов:
'jstree-open' in classes_of_open_li
out: True
Затем мы можем проверитьобратное:
closed = '''
<div id="tree" class="jstree jstree-1">
<ul class="jstree-container-ul jstree-children">
<li class="jstree-node jstree-last jstree-closed">
</li>
</ul>
</div>
'''
closed_soup = BeautifulSoup(closed)
classes_of_closed_li = closed_soup.select('div#tree ul.jstree-container-ul li')[0].get('class')
'jstree-open' in classes_of_closed_li
out: False
После чего вы хотите выбрать все элементы списка, вы можете использовать ту же функцию, чтобы вернуть список всех элементов списка:
li = '''
<div id="tree" class="jstree jstree-1">
<ul class="jstree-container-ul jstree-children">
<li class="jstree-node jstree-last jstree-closed">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</li>
</ul>
</div>
'''
line_soup = BeautifulSoup(li)
all_line_items = line_soup.select('div#tree ul.jstree-container-ul li ul li')
out: [<li></li>, <li></li>, <li></li>, <li></li>]
Надеюсь, что этопомогает!