1

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

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

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

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

更新

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

4

1 回答 1

3

您的页面可能正在重新创建 DOM。为了克服这个问题,您可以使用剧作家的定位器功能。

var locator = page.Locator("inputSelector");
await locator.ClickAsync();
于 2021-10-04T12:38:57.070 回答