PuppeteerSharp 将表达式评估为复杂类型?

PuppeteerSharp evaluate expression to complex type?

您好,我是第一次使用 PuppeteerSharp,想知道 EvaulateExpressionAsync 是否支持转换为复杂 C# 对象的方法。所以当我尝试做这样的事情时:

var allResultsSelector = ".sortableTable.resultTable tr.studyResultRow";

var jsSelectAllAnchors = $"Array.from(document.querySelectorAll('{allResultsSelector}')).map(f=>f.innerText);";

await frmSearch.WaitForSelectorAsync(allResultsSelector);

var urls = await frmSearch.EvaluateExpressionAsync<InteleStudyResult[]>(jsSelectAllAnchors);

现在输入 c#

    public class InteleStudyResult
    {
        public string PatientName { get; set; }
        //public string PatientId { get; set; }
        //public DateTime DOB { get; set; }
        //public string Sex { get; set; }
        //public string Accession { get; set; }
        //public DateTime StudyDate { get; set; }
        //public string Modality { get; set; }
        //public int? Series { get; set; }
        //public string StudyDescription { get; set; }
    }

Eval 调用出现异常

Newtonsoft.Json.JsonSerializationException HResult=0x80131500 Message=将值“my string here”转换为类型 'InteleradWebAccessor.InteleStudyResult' 时出错。路径“[0]”。 来源=Newtonsoft.Json

内部异常 1: ArgumentException:无法从 System.String 强制转换或转换为 InteleradWebAccessor.InteleStudyResult。

如果不支持,我将不胜感激关于使用 PuppeteerSharp

处理将 html table 行转换为 c# 复杂类型的最佳方法的建议

您应该在地图中添加一个对象

Array.from(document.querySelectorAll('{allResultsSelector}'))
   .map(f =>{ return { patientName: f.innerText} });