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

使用Python Selenium爬取重Java渲染网站无法获取目标元素求助

问题原因与解决方案

现有代码的核心错误

  • 重复初始化ChromeDriver:连续两次调用webdriver.Chrome(),会覆盖掉webdriver_manager自动适配驱动版本的逻辑,容易出现驱动和浏览器版本不兼容的异常
  • 多类名定位错误:find_elements_by_class_name()仅支持传入单个类名,传入空格分隔的多个类名会直接匹配失败,初版代码就是该问题导致返回空结果
  • XPATH路径语法错误:从driver根节点查找元素时不需要加.前缀,.仅用于从某个已定位的子元素下递归查找,你写的.//开头的XPATH会匹配不到根路径下的元素
  • 没有提取元素文本:直接打印earnings变量,输出的是WebElement对象列表,不是你需要的金额文本
  • 绝对路径XPATH稳定性差:多层级绝对路径只要页面结构有一处调整就会失效,优先用元素属性定位更稳妥

修正后的可运行代码

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service

# 配置Chrome启动参数,规避反爬检测
opt = webdriver.ChromeOptions()
opt.add_argument("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36")
# 去掉以下参数的注释可开启无头模式,开启后不会弹出浏览器窗口
# opt.add_argument("--headless=new")
# 额外反爬规避参数,遇到Cloudflare拦截时可开启
opt.add_argument("--disable-blink-features=AutomationControlled")
opt.add_experimental_option("excludeSwitches", ["enable-automation"])
opt.add_experimental_option("useAutomationExtension", False)

# 仅初始化一次驱动,用webdriver_manager自动匹配版本
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=opt)

driver.get("https://explorer.helium.com/accounts/13pm9juR7WPjAf7EVWgq5EQAaRTppu2EE7ReuEL9jpkHQMJCjn9")
try:
    # 等待目标元素可见,多类名用CSS选择器定位更稳定
    element = WebDriverWait(driver, 60).until(
        EC.visibility_of_element_located((By.CSS_SELECTOR, "div.text-base.text-gray-600.mb-1.tracking-tight.w-full.break-all"))
    )
    # 提取文本内容
    earnings_text = element.text
    print(f"获取到的金额:{earnings_text}")
finally:
    driver.quit()

额外注意事项

  • 目标站点有Cloudflare反爬检测,如果等待超时,可适当延长等待时长,或手动打开页面确认是否需要人机验证
  • 如果需要提取多个同类金额,把visibility_of_element_located换成visibility_of_all_elements_located,返回的是元素列表,遍历提取text即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 19:24:04