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} });
您好,我是第一次使用 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} });