为什么Selenium Python中find_elements(By.CLASS_NAME)无法生效?
解决Reddit帖子链接定位问题
问题原因
By.CLASS_NAME 仅支持传入单个类名,你使用的 'absolute inset-0' 是两个类名组合,因此无法匹配到目标元素,返回空数组。
解决方案
改用 By.CSS_SELECTOR 定位,它支持多类名的选择逻辑:
- 基础写法(匹配所有带这两个类的
<a>标签):links = driver.find_elements(By.CSS_SELECTOR, 'a.absolute.inset-0') - 精准写法(限定在
shreddit-post组件内的目标链接,避免页面其他无关元素干扰):links = driver.find_elements(By.CSS_SELECTOR, 'shreddit-post a.absolute.inset-0')
补充使用示例
如果需要定位并点击第一个帖子的链接,直接取列表第一个元素即可:
if links: story_btn = links[0] story_btn.click()
内容的提问来源于stack exchange,提问作者josh.delgado
相关产品推荐
相关产品推荐

