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

如何在Playwright/C#中用GetAttributeAsync获取元素value值?

解决Playwright/C#获取文本框实时value值的问题
  • 直接使用Playwright专为输入元素设计的InputValueAsync()方法,可直接获取输入框的实时值:

    var tValue = await locator.InputValueAsync() ?? "";
    
  • 如果需要更通用的DOM属性读取方式(适用于非输入元素的其他DOM属性),可以通过EvaluateAsync执行JS代码直接读取DOM元素的property:

    var tValue = await locator.EvaluateAsync<string>("el => el.value") ?? "";
    

问题根源

Selenium的GetDomProperty("value")读取的是DOM元素的实时property(用户输入后的值会同步更新到这里),而Playwright的GetAttributeAsync("value")读取的是HTML标签上的初始attribute——多数场景下,用户输入文本后,HTML里的value属性不会自动更新,因此返回空值或初始默认值。而type、class这类静态属性,HTML标签值与DOM property保持一致,所以GetAttributeAsync能正常获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 07:55:53