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

如何使用PlaywrightSharp设置innerHTML?代码执行报错求助

问题修复方案
  • 核心错误:getElementById 参数格式错误
    document.getElementById('#key') 写法有误,getElementById 接收的是元素的纯id字符串,不需要添加CSS选择器的#前缀,正确写法应为document.getElementById('key')。这个错误会直接导致找不到目标元素,进而引发设置innerHTML失败的报错。

  • 修正后的完整代码

using var playwright = await Playwright.CreateAsync();
await using var browser = await playwright.Firefox.LaunchAsync();
var page = await browser.NewPageAsync();
await page.GoToAsync(URL);

// 修正id参数,去掉多余的#
await page.EvaluateAsync("document.getElementById('key').innerHTML = 'value';");
await page.ClickAsync("#button");
await page.WaitForLoadStateAsync(LifecycleEvent.Networkidle);
  • 额外优化建议
    • 若目标元素是动态加载的,建议先等待元素出现再操作,避免找不到元素的报错:
      await page.WaitForSelectorAsync("#key");
      await page.EvaluateAsync("document.getElementById('key').innerHTML = 'value';");
      
    • 可以直接使用Playwright内置API设置元素内容,比Evaluate更简洁直观:
      // 针对普通元素设置innerHTML
      await page.SetInnerHTMLAsync("#key", "value");
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:30:49