Selenium中如何获取第3个class为col-md-3的元素文本?
解决方法
以下两种方式可以获取第三个class为col-md-3的元素文本:
方法一:获取所有匹配元素后选取第三个
使用presence_of_all_elements_located等待所有目标元素加载完成,再通过索引访问第三个元素(Python索引从0开始,所以取索引2):
# 等待所有class为col-md-3的元素加载完成 elements = wait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, 'col-md-3'))) # 确保元素数量不少于3,再获取第三个元素的文本 if len(elements) >= 3: third_element_text = elements[2].text else: print("页面中class为col-md-3的元素不足3个")
方法二:用CSS选择器直接定位第三个元素
利用CSS选择器的伪类直接定位目标元素,根据页面结构选择合适的伪类:
- 如果要选择同类型元素中的第三个(比如都是
<div>),用:nth-of-type(3):
third_element_text = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.col-md-3:nth-of-type(3)'))).text
- 如果要选择父元素下的第三个子元素且拥有该类,用
:nth-child(3):
third_element_text = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '.col-md-3:nth-child(3)'))).text
内容的提问来源于stack exchange,提问作者user16794957
相关产品推荐
相关产品推荐

