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

Selenium Chromedriver访问URL出现空白页及429错误求助

解决Selenium访问Blue Nile触发429错误的方案

单次请求就出现429状态码+空白页面,说明网站反爬机制已识别出你的浏览器是自动化工具,基础反检测选项不足以规避识别。以下是针对性解决步骤:

1. 确保Chrome与ChromeDriver版本严格匹配

ChromeDriver版本必须和本地安装的Chrome浏览器大版本完全一致(比如Chrome 125对应ChromeDriver 125.x.x.x),版本不匹配会直接暴露自动化痕迹。

2. 补充模拟真实浏览器的参数

在ChromeOptions中添加以下参数,进一步消除自动化特征:

# 设置真实User-Agent,可在浏览器控制台输入navigator.userAgent获取当前Chrome的UA
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36")
# 禁用沙箱模式(Linux必加,Windows可选)
options.add_argument("--no-sandbox")
# 禁用开发者共享内存限制
options.add_argument("--disable-dev-shm-usage")
# 禁用默认扩展
options.add_argument("--disable-extensions")
# 禁用弹窗拦截(模拟正常用户)
options.add_argument("--disable-popup-blocking")

3. 注入StealthJS强化反检测

StealthJS可覆盖Selenium的多个自动化特征,操作如下:

  1. 下载stealth.min.js文件,放在代码同目录下
  2. 初始化driver后执行注入脚本:
driver.execute_script(open("stealth.min.js").read())

4. 模拟真实用户访问路径

不要直接请求搜索页,先访问官网首页,等待几秒后再跳转,模拟正常用户操作:

driver.get("https://www.bluenile.com/")
# 可改用WebDriverWait显式等待元素加载,替代time.sleep
time.sleep(3)
driver.get("https://www.bluenile.com/diamond-search")

5. 改用Selenium 4推荐的Service类初始化driver

旧版executable_path参数已弃用,改用Service类可避免兼容性问题:

from selenium.webdriver.chrome.service import Service

service = Service(r"C:\Users\pople\OneDrive\Desktop\chromedriver.exe")
driver = webdriver.Chrome(service=service, options=options)

修改后的完整代码示例

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import time

options = webdriver.ChromeOptions() 
options.add_argument("start-maximized")
# 抑制日志
options.add_experimental_option('excludeSwitches', ['enable-logging'])
# 隐藏自动化提示
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_argument("disable-blink-features=AutomationControlled")
options.add_experimental_option('useAutomationExtension', False)
# 新增模拟真实浏览器参数
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36")
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-extensions")

service = Service(r"C:\Users\pople\OneDrive\Desktop\chromedriver.exe")
driver = webdriver.Chrome(service=service, options=options)

# 注入StealthJS
driver.execute_script(open("stealth.min.js").read())

# 模拟真实访问路径
driver.get("https://www.bluenile.com/")
time.sleep(3)
driver.get("https://www.bluenile.com/diamond-search")

额外排查点

  • 检查是否使用代理/VPN,若IP已被网站拉黑,更换IP后重试
  • 开启无痕模式访问,添加options.add_argument("--incognito")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 14:48:17