超全模态模型 × Harness 升级,升级解锁 ArkClaw,最新支持 DeepSeek-V4 系列与 GLM-5.1
是自定义Web组件,不属于原生HTML按钮元素,本身没有内置的click()方法,直接调用自然会报错。
click()
既然组件里嵌套了原生,直接定位这个元素调用click()就行:// 基础写法:定位spark-button下的第一个button document.querySelector('spark-button button').click(); // 如果内部button有类名,用类名更精准 document.querySelector('spark-button .login-trigger').click(); 2. 用DOM事件模拟真实点击 #如果组件依赖事件触发而非直接调用方法,手动创建并分发点击事件:const targetBtn = document.querySelector('spark-button'); const clickEvent = new MouseEvent('click', { bubbles: true, cancelable: true, view: window }); targetBtn.dispatchEvent(clickEvent); 3. 确保组件完成初始化 #Web组件需要时间加载初始化,CefSharp里要等页面完全渲染后再执行脚本: 在C#代码里监听FrameLoadEnd事件,或者加短延迟确保组件就绪:browser.FrameLoadEnd += async (sender, args) => { if (args.Frame.IsMain) { // 给组件留初始化时间,按需调整延迟时长 await Task.Delay(1000); await browser.ExecuteScriptAsync(@" document.querySelector('spark-button button').click(); "); } }; 4. 模拟完整的用户交互流程 #部分网站会检测操作是否为真实用户行为,可模拟鼠标按下、松开的完整流程:const targetBtn = document.querySelector('spark-button'); // 模拟鼠标按下 targetBtn.dispatchEvent(new MouseEvent('mousedown', { bubbles: true })); // 模拟鼠标松开 targetBtn.dispatchEvent(new MouseEvent('mouseup', { bubbles: true })); // 触发点击事件 targetBtn.dispatchEvent(new MouseEvent('click', { bubbles: true })); 内容的提问来源于stack exchange,提问作者T-Bone
// 基础写法:定位spark-button下的第一个button document.querySelector('spark-button button').click(); // 如果内部button有类名,用类名更精准 document.querySelector('spark-button .login-trigger').click();
如果组件依赖事件触发而非直接调用方法,手动创建并分发点击事件:
const targetBtn = document.querySelector('spark-button'); const clickEvent = new MouseEvent('click', { bubbles: true, cancelable: true, view: window }); targetBtn.dispatchEvent(clickEvent);
Web组件需要时间加载初始化,CefSharp里要等页面完全渲染后再执行脚本: 在C#代码里监听FrameLoadEnd事件,或者加短延迟确保组件就绪:
FrameLoadEnd
browser.FrameLoadEnd += async (sender, args) => { if (args.Frame.IsMain) { // 给组件留初始化时间,按需调整延迟时长 await Task.Delay(1000); await browser.ExecuteScriptAsync(@" document.querySelector('spark-button button').click(); "); } };
部分网站会检测操作是否为真实用户行为,可模拟鼠标按下、松开的完整流程:
const targetBtn = document.querySelector('spark-button'); // 模拟鼠标按下 targetBtn.dispatchEvent(new MouseEvent('mousedown', { bubbles: true })); // 模拟鼠标松开 targetBtn.dispatchEvent(new MouseEvent('mouseup', { bubbles: true })); // 触发点击事件 targetBtn.dispatchEvent(new MouseEvent('click', { bubbles: true }));
内容的提问来源于stack exchange,提问作者T-Bone
超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起
模型再升级,30秒超长叙事, 模态参考扩容
模型自由,工具不限,最新支持 Deepseek-V4 系列、GLM-5.3 系列
超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列
大模型19元起,Al应用9.9元畅享,新人首购爆款尽享优惠