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

Python+Selenium获取页面源码失败:连接被拒绝问题求助

获取JS渲染后页面源码的解决方案

首先得说清楚:你遇到的Connection refused错误,本质是网络问题——手动都打不开python.org,说明你的网络环境没法访问这个站点,和Selenium代码无关。先解决网络(比如配置代理、检查防火墙),你的原代码其实是可以正常拿到JS执行后的源码的。

不过既然你问有没有其他替代方法,我整理了几个实用的方案:

一、修复Selenium的网络问题(继续用Selenium)

如果坚持用Selenium,给Firefox配置代理试试:

#!/usr/bin/env python
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

# 配置代理(替换成你的代理信息)
options = Options()
options.set_preference("network.proxy.type", 1)
options.set_preference("network.proxy.http", "127.0.0.1")
options.set_preference("network.proxy.http_port", 1080)

browser = webdriver.Firefox(options=options)
browser.get('https://python.org')
html_source = browser.page_source
print(html_source)
browser.quit()  # 记得关闭浏览器,避免残留进程

也可以换成Chrome浏览器,有时候Chrome的网络适配性更好,记得下载对应版本的ChromeDriver。

二、用Playwright(更现代的自动化工具)

Playwright是微软推出的工具,对JS渲染页面的支持比Selenium更友好,自带等待机制,不用手动处理加载:

  1. 先安装依赖:
    pip install playwright
    playwright install  # 自动下载浏览器驱动
    
  2. 示例代码:
    from playwright.sync_api import sync_playwright
    
    with sync_playwright() as p:
        # 可以选择chromium、firefox、webkit
        browser = p.firefox.launch(headless=False)  # headless=False可以看到浏览器窗口
        page = browser.new_page()
        page.goto("https://python.org", wait_until="networkidle")  # 等待网络空闲,确保JS加载完成
        html_source = page.content()  # 获取渲染后的完整HTML
        print(html_source)
        browser.close()
    

三、用Requests-HTML(轻量无浏览器)

如果不想启动真实浏览器,Requests-HTML是个轻量选择,它内置了JS渲染引擎:

  1. 安装:
    pip install requests-html
    
  2. 示例代码:
    from requests_html import HTMLSession
    
    session = HTMLSession()
    r = session.get('https://python.org')
    r.html.render()  # 触发JS渲染,默认等待2秒,可调整sleep参数
    html_source = r.html.html
    print(html_source)
    session.close()
    
    这个工具适合简单的JS渲染场景,对复杂交互的支持不如前两者。

小提示

  • 所有方法的前提都是能正常访问目标网站,先解决网络问题才是关键
  • 如果目标网站有反爬,记得加合理的请求头、代理,或者模拟人类操作(比如随机延迟)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:04:31