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

使用Python+Selenium获取页面可点击元素报错求助

问题解决:打印页面所有可点击元素的Selenium代码修正

错误原因

  1. driver.find_element()方法必须传入定位参数(指定元素的查找方式和对应值),你调用时未传任何参数,直接触发报错
  2. 即便参数正确,find_element()仅返回单个匹配元素,无法用for循环遍历;要获取所有匹配元素,需用driver.find_elements()(复数形式)

修正后的代码

from selenium import webdriver
from selenium.webdriver.common.by import By

url = "http://google.com/"
driver = webdriver.Chrome()
driver.get(url)

# 定位所有常见可点击元素:a标签、button按钮、带onclick属性的元素、提交按钮等
clickable_elements = driver.find_elements(By.CSS_SELECTOR, "a, button, [onclick], input[type='submit']")

# 遍历打印元素的文本和关联属性(让输出更有意义)
for elem in clickable_elements:
    elem_text = elem.text.strip()
    elem_href = elem.get_attribute("href") if elem.get_attribute("href") else "无链接/按钮元素"
    print(f"元素文本: {elem_text} | 关联链接/属性: {elem_href}")

driver.quit()

关键说明

  • 导入By类是为了更清晰地指定定位方式,避免硬写字符串出错
  • CSS选择器"a, button, [onclick], input[type='submit']"覆盖了网页中最常见的可点击元素类型,你可根据需求调整选择器范围
  • 直接打印元素对象只会显示内存地址,因此用elem.text获取元素文本、get_attribute()获取链接或其他属性,让输出更实用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 19:57:37