如何通过CSS Selector获取href属性值而非锚文本(Selenium场景)
问题根因
你直接将Selenium返回的WebElement对象存入字典,默认只会展示元素的文本内容,无法直接获取属性值,该问题和CSS选择器的匹配逻辑无关。
解决方案
要提取元素的href属性值,需要调用Selenium WebElement内置的get_attribute()方法,传入属性名href即可。你使用的.elementor-widget-container > [href]:nth-of-type(1)选择器本身可以正确匹配每个.elementor-widget-container下第一个带href属性的子元素,无需调整。
修正后的完整代码:
pages = driver.find_elements_by_css_selector(".elementor-widget-container > [href]:nth-of-type(1)") data = [] for page in pages: data.append({ "Location Page": page.get_attribute("href") }) print(data)
补充注意项
- 若页面元素为异步动态渲染,建议添加显式等待逻辑,确保元素完全加载后再执行属性提取,避免返回空值
- 如需同时获取对应锚文本,可调用
page.text方法提取
内容的提问来源于stack exchange,提问作者VRapport
相关产品推荐
相关产品推荐

