剧作家 "Element is not attached to the DOM"

Playwright "Element is not attached to the DOM"

我正在尝试使用 Playwright (.NET) 抓取网站。该网站看起来像是在 2000 年代初期编写的(运行 以怪癖模式和所有方式),我正在 运行 遇到一个我似乎无法找到解决方案的问题。

我的目标是选中一个复选框。我可以 select input 元素使用

var input = await page.QuerySelectorAsync("inputSelector")

元素已成功 selected,但是当尝试 运行 await input.CheckAsync() 时,出现错误 Element is not attached to the DOM。我没有注意到会导致这种情况的元素有任何异常。为什么会出现此错误?

更新

我通过 运行ning await page.ClickAsync("inputSelector") 让它工作,以便选中该框。这适用于我的目的,但它没有解释为什么如果以其他方式完成它会出错,所以我仍然想知道为什么会发生该错误。

您的页面可能正在重新创建 DOM。要克服这个问题,您可以使用 playwright 的 locator 功能。

var locator = page.Locator("inputSelector");
await locator.ClickAsync();