여기요! 마지막 글 이후 오랜 시간이 흘렀습니다.
최근 저는 루프 내에서 요소 참조 손실과 관련된 문제를 해결해 왔으며 마침내 여러분 모두와 공유하고 싶은 해결책을 찾았습니다.
초기 코드의 단순화된 버전은 다음과 같습니다.
const someElements = await page.$$("xpath/ .//foo[@name='hoge']"); for (let i=0; i어떤 오류가 발생했나요?
forst 루프 반복 후 스크립트가 버튼 요소를 찾을 수 없었습니다. 다음 오류가 계속 발생했습니다.
에서 지정된 ID를 가진 컨텍스트를 찾을 수 없습니다.
ProtocolError: 프로토콜 오류(DOM.describeNode):내가 해결한 방법
루프 내에서 버튼 요소 목록을 다시 선언하여 이 문제를 해결했습니다.
수정된 코드는 다음과 같습니다.
const someElements1 = await page.$$("xpath/ .//foo[@name='hoge']"); for (let i=0; i초기 페이지에서 다른 곳으로 이동할 때 원래 someElements 참조가 손실된다고 가정했기 때문에 재선언 줄을 추가했습니다. 변경 후 오류가 해결되었습니다. 그러나 이 접근 방식이 최고의 코딩 방법을 엄격하게 준수하는지 확실하지 않습니다.
페이지 간을 탐색할 때 루프에서 .click() 문제가 발생하는 경우 루프 자체 내에서 요소를 다시 선언하는 것이 좋습니다. 이 간단한 변경으로 문제 해결 시간을 많이 절약할 수 있습니다!
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3