Selenium中如何获取WebElement子元素并对子元素文本排序?
子元素文本排序的实现方法
Selenium本身没有内置的子元素文本排序函数,但可以借助Python的内置功能来实现,具体步骤如下:
1. 获取目标子元素
先从page_bar中获取所有子div元素:
div_elements = page_bar.find_elements(By.TAG_NAME, 'div')
2. 排序文本内容
如果只需要对提取出的文本进行排序:
- 先提取并清理所有非空文本:
div_texts = [elem.text.strip() for elem in div_elements if elem.text.strip()] - 使用Python的
sorted()函数完成排序,默认是字典序升序:sorted_texts = sorted(div_texts) # 若需降序排序,添加reverse参数 sorted_texts_desc = sorted(div_texts, reverse=True)
3. 按文本排序WebElement元素
如果需要将子元素按文本内容排序(保留元素对象):
# 升序排序元素 sorted_elements = sorted(div_elements, key=lambda elem: elem.text.strip()) # 降序排序元素 sorted_elements_desc = sorted(div_elements, key=lambda elem: elem.text.strip(), reverse=True)
内容的提问来源于stack exchange,提问作者Jongmin Ahn
相关产品推荐
相关产品推荐

