You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium定位div.booking-classes下第5个子元素按钮失败的问题

解决Selenium元素定位问题

问题原因

你之前使用的CSS选择器逻辑错误:div.booking-classes:nth-child(5) 是在查找父元素下第5个class为booking-classes的div,而不是div.booking-classes内部的第5个子元素。这就是定位子元素失败、仅定位第0个元素时返回整个容器的原因。

正确定位方法

方法1:CSS选择器(定位第5个子元素)

使用子元素选择器结合:nth-child(),指定div.booking-classes内部的第5个子元素:

driver.find_element(By.CSS_SELECTOR, 'div.booking-classes > :nth-child(5)')

注:div.booking-classes的子元素顺序为:1. h3、2. div、3. button、4. button、5. button,所以:nth-child(5)就是目标的第三个button。

方法2:CSS选择器(直接定位第三个button)

针对同类型的button子元素,使用:nth-of-type()更直观:

driver.find_element(By.CSS_SELECTOR, 'div.booking-classes > button:nth-of-type(3)')

方法3:XPath定位

直接定位div.booking-classes下的第三个button:

driver.find_element(By.XPATH, "//div[@class='booking-classes']/button[3]")

或者定位第5个子元素:

driver.find_element(By.XPATH, "//div[@class='booking-classes']/*[5]")

内容的提问来源于stack exchange,提问作者user11004963

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 16:48:20