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

Selenium无法获取PDF链接及下载文档问题求助

Selenium爬虫问题解决方案

一、添加--disable-http2参数解决HTTP2协议错误

直接在ChromeOptions中加入该参数即可,代码示例:

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

chrome_options = Options()
# 禁用HTTP2协议
chrome_options.add_argument("--disable-http2")
# 可额外添加窗口最大化等配置
chrome_options.add_argument("--start-maximized")

driver = webdriver.Chrome(options=chrome_options)

二、解决点击链接/获取href无效的问题

1. 用显式等待替代固定sleep

动态加载页面中,固定sleep无法保证元素完全渲染,显式等待会轮询到元素满足条件后再执行操作,稳定性更高:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# 最长等待10秒,直到目标元素可点击
target_element = WebDriverWait(driver, 10).until(
    EC.element_to_be_clickable((By.XPATH, "你的元素定位表达式"))
)
# 执行点击操作
target_element.click()
# 或获取href属性
href_value = target_element.get_attribute("href")

2. 检查元素是否在iframe内

如果目标链接嵌套在iframe中,必须先切换到iframe才能操作元素:

# 定位iframe(示例用id定位,可根据实际改为name/xpath等)
iframe = driver.find_element(By.ID, "iframe_id")
driver.switch_to.frame(iframe)

# 在此处操作目标链接
target_link = driver.find_element(By.XPATH, "链接的xpath表达式")
target_link.click()

# 操作完成后切回主文档
driver.switch_to.default_content()

3. 隐藏Selenium自动化特征(规避反爬)

部分网站会检测自动化工具痕迹,添加以下参数模拟正常浏览器:

chrome_options.add_argument("--disable-blink-features=AutomationControlled")
chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])
chrome_options.add_experimental_option('useAutomationExtension', False)
# 自定义User-Agent,模拟真实浏览器请求
chrome_options.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")

4. 优化元素定位方式

避免使用动态变化的class、绝对xpath等不稳定定位,改用更可靠的方式:

  • 通过完整链接文本定位:driver.find_element(By.LINK_TEXT, "目标链接完整文本")
  • 通过部分链接文本定位:driver.find_element(By.PARTIAL_LINK_TEXT, "目标链接部分文本")
  • 通过包含特定href关键词的xpath定位:driver.find_element(By.XPATH, "//a[contains(@href, '目标关键词')]")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 20:53:13