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

Selenium调用get方法访问指定URL时跳转至网站主页如何解决

问题原因
  • 反爬虫机制识别:BestBuy部署了成熟的反爬虫系统,能够识别Selenium启动的浏览器自带的自动化特征(比如navigator.webdriver属性为true、缺少正常浏览器的指纹参数、启动标记异常等),检测到非人为访问后会直接重定向到站点首页。
  • 地区访问限制:该促销页面仅对部分地区(主要是美国地区)的IP开放,非合规地区IP访问时会被强制跳转至首页。
  • 站点初始化校验缺失:首次访问BestBuy站点需要完成地区选择、Cookie同意等前置校验,未完成校验的情况下访问内页会被重定向。
可行解决方案
  • 改用undetected-chromedriver替代原生Selenium驱动
    该库专门针对主流站点的反自动化检测做了特征隐藏,能绕过大部分基础反爬校验,示例代码如下:
import undetected_chromedriver as uc

driver = uc.Chrome(executable_path=r"C:\Users\chromedriver.exe")
driver.get("https://www.bestbuy.com/site/promo/health-fitness-deals")
# 原有抓取逻辑保持不变
tag = driver.find_elements_by_tag_name('h4')
for a in tag:
    for link in a.find_elements_by_tag_name('a'):
        print(link.get_attribute("href"))
  • 给原生Chrome添加启动参数隐藏自动化特征
    如果不想换第三方库,可以给Chrome添加启动参数抹除自动化标记,同时伪装正常浏览器的请求头:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

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/114.0.0.0 Safari/537.36")

driver = webdriver.Chrome(executable_path=r"C:\Users\chromedriver.exe", options=chrome_options)
# 执行CDP命令覆盖webdriver属性
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
    "source": "Object.defineProperty(navigator, 'webdriver', {get: () => undefined})"
})
driver.get("https://www.bestbuy.com/site/promo/health-fitness-deals")
  • 配置合规代理IP
    如果是地区限制导致的跳转,需要使用美国地区的住宅代理IP,在启动参数中配置代理即可:
chrome_options.add_argument("--proxy-server=http://你的代理IP:端口")
  • 完成前置校验后再抓取
    首次访问跳转后可以先模拟点击地区选择、同意Cookie的按钮,完成站点的初始化校验后再重新访问目标促销页,也可以提前导出手动访问正常的浏览器Cookie,在Selenium启动后导入Cookie再访问页面。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 07:24:03