无法获取文本值:如何提取Sephora页面How to Use板块内容?
问题解决方法
核心问题分析
click()方法无返回值,你把它赋值给how_to_use会导致变量变成None,后续操作无效- 点击折叠面板后,内容需要加载时间,直接获取会出现元素未就绪的情况
- 原CSS选择器
#qqrco4-accordion div可能是动态生成的ID,稳定性差,且定位范围太宽泛
修正后的代码示例
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By # 单独执行点击操作,不要赋值变量 driver.find_element(By.LINK_TEXT, "How to use").click() # 显式等待内容块加载完成,用更稳定的定位方式关联折叠面板标题与内容 how_to_use_element = WebDriverWait(driver, 10).until( EC.visibility_of_element_located( (By.CSS_SELECTOR, "div[aria-labelledby*='How-to-use']") ) ) # 获取文本内容 how_to_use_text = how_to_use_element.text print(how_to_use_text)
替代定位方案(如果上述选择器失效)
- 类名定位:
By.CSS_SELECTOR, "accordion__content"(需确认页面实际生效的类名) - XPath定位:
By.XPATH, "//h3[contains(text(), 'How to use')]/following-sibling::div"
内容的提问来源于stack exchange,提问作者boyenec
相关产品推荐
相关产品推荐

