我正在尝试使用剧作家(. net)刮一个网站。这个网站看起来像是在21世纪初写的(以怪癖模式运行),我遇到了一个问题,我似乎找不到解决方案。
我的目标是选中一个复选框。我可以使用
选择input
元素var input = await page.QuerySelectorAsync("inputSelector")
元素被成功选中,但是当尝试运行await input.CheckAsync()
时,我得到错误Element is not attached to the DOM
。我没有注意到引起这种情况的元素有什么不寻常之处。为什么会发生这个错误?
更新我得到它的工作通过运行await page.ClickAsync("inputSelector")
为了检查框。这对我的目的是有效的,但是它不能解释为什么如果以另一种方式完成它会出错,所以我仍然想知道为什么会发生错误。
您的页面可能正在重新创建DOM。为了克服这个问题,您可以使用剧作家的定位器功能。
var locator = page.Locator("inputSelector");
await locator.ClickAsync();