Skip to content

【截图异常】在 iframe 中无法截取指定 canvas 元素,take_element_screenshot 截取整个窗口而非目标元素 #8

Description

@xihongshiit2

问题描述

使用 take_element_screenshot 方法尝试截取 iframe 内的 canvas 元素时,始终截取整个浏览器窗口而非目标元素。即使已正确切换到 iframe 上下文,问题仍然存在。

环境信息

  • AutoWK 版本:0.4.2
  • Python 版本:3.13.3
  • 操作系统:win 10 专业版
  • 代理设置:HTTP 代理(已配置认证)

复现步骤

  1. 使用 AutoWK 初始化浏览器会话
  2. 导航至 https://rendezvousparis.hermes.com/client/register
  3. 定位 CAPTCHA iframe 并切换上下文
  4. 尝试截取 iframe 内的 canvas 元素
  5. 检查输出的截图文件

预期结果

应生成仅包含目标 canvas 元素的截图文件 element_screenshot.png

实际结果

生成了整个浏览器窗口的截图,而非指定的 canvas 元素

相关代码

# 初始化配置
client = AutoWK(
    lang="en-US",
    proxyType="http",
    proxyHost="0.0.0.0",
    proxyPort="0000",
    proxyUsername="nnxxxx",
    proxyPassword="xxxxxx",
    userDataDir="userData"
)

# 定位并切换至 iframe
captchas = client.find_elements_by_css_selector('iframe[title="DataDome CAPTCHA"]')
if len(captchas) > 0 and captchas[0].is_displayed():
    client.switch_to_frame(captchas[0])
    
    # 尝试截取 canvas 元素
    canvas = client.find_elements_by_css_selector("canvas")[0]
    canvas.take_element_screenshot(filename="element_screenshot.png")

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions