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

Delphi中使用TChromium模拟页面鼠标点击失败求助

解决Delphi TChromium模拟点击页面按钮的问题

你遇到的问题主要有两个关键点,我帮你梳理并给出解决方案:

1. 选择器错误:混淆了class和id

你原代码里用了document.getElementById(_2lkdt),但页面中的按钮是class="_2lkdt",不是id属性!而且_2lkdt作为字符串参数还缺少引号(会被JS当成变量而非字符串),这直接导致找不到目标元素,自然无法触发点击。

2. 正确的JavaScript代码写法

针对这个按钮,你可以用两种更准确的选择器:

方法一:使用querySelector(推荐,更精准)

querySelector可以直接通过元素类型+class定位,代码更清晰:

var
  Code: string;
begin
  // 用双引号包裹选择器,避免Delphi里的单引号转义
  Code := 'document.querySelector("button._2lkdt").click();';
  Chromium1.Browser.MainFrame.ExecuteJavaScript(Code, 'about:blank', 0);
end;

方法二:使用getElementsByClassName

如果页面中只有一个class为_2lkdt的元素,也可以用这个方法取第一个匹配项:

var
  Code: string;
begin
  Code := 'document.getElementsByClassName("_2lkdt")[0].click();';
  Chromium1.Browser.MainFrame.ExecuteJavaScript(Code, 'about:blank', 0);
end;

额外注意事项

  • 确保页面完全加载:要在TChromium的OnLoadEnd事件中执行这段代码,避免页面还没渲染完成就查找元素(此时元素还不存在)。
  • 如果按钮在iframe中:需要先获取iframe的文档对象再查找元素,示例代码如下:
    Code := 'var iframe = document.querySelector("iframe"); iframe.contentDocument.querySelector("button._2lkdt").click();';
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:44:12