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

使用Selenium Python爬取builtin.com遇JavaScript未启用报错如何解决

问题原因

  • 该站点部署了反爬虫机制,会识别请求的客户端特征,一旦判定为自动化爬虫访问,就会直接返回带有noscript提示的静态页面,和客户端是否开启JS能力没有直接关系。
  • PhantomJS早已停止维护,本身的浏览器特征标记非常明显,基本是所有反爬系统的重点拦截对象,被拦截属于正常情况。
  • 默认启动的ChromeDriver带有navigator.webdriver=true等独有自动化标记,很容易被站点识别拦截,和你本地手动打开的Chrome浏览器特征完全不同。
  • 直接用BeautifulSoup发起HTTP请求没有JS渲染能力,只能拿到首屏未渲染的静态源代码,自然只有noscript提示。

修复方案

方案1:给ChromeDriver添加反识别参数(推荐)

调整启动参数消去自动化特征,代码示例如下,自行替换ChromeDriver路径即可:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

chrome_options = Options()
# 移除自动化控制标记
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option("useAutomationExtension", False)
# 伪装正常浏览器的UA标识
chrome_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")

driver = webdriver.Chrome(options=chrome_options)
# 执行脚本覆盖webdriver属性,进一步消除特征
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
    "source": """
        Object.defineProperty(navigator, 'webdriver', {
            get: () => undefined
        })
    """
})

driver.get("https://builtin.com/jobs")
# 等待页面渲染完成,也可替换为显式等待定位目标元素
time.sleep(3)
html = driver.page_source
print(html)

如果运行后仍被拦截,可以尝试添加--headless=new参数开启无头模式,或是手动在启动的浏览器中完成一次人机验证,后续请求即可正常获取内容。

方案2:使用自带反识别能力的渲染工具

如果需要批量爬取页面,可以直接使用Playwright,默认自带特征隐藏能力,不需要手动配置过多参数:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    page = browser.new_page(user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")
    page.goto("https://builtin.com/jobs")
    # 等待页面加载
    page.wait_for_load_state("networkidle")
    html = page.content()
    print(html)
    browser.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:45:03