Intento desplazarme por el área dentro de div usando Titiritero.
Traté de seguir estas respuestas: https://stackoverflow.com/a/67490337 y https://stackoverflow.com/a/52031392 pero no funcionó.
Página que trato de desplazar - https://yandex.ru/profile/1899402108
Mi código se ve así:
const scrollable_section = '.business-tab-wrapper__content'; await this.page.waitForSelector('.business-reviews-card-view__review'); await this.page.evaluate(selector => { const scrollableSection = document.querySelector(selector); scrollableSection.scrollTop = scrollableSection.offsetHeight; }, scrollable_section);Anteriormente probé este código pero tampoco funcionó:
await this.page.evaluate(async () => { await new Promise(resolve => { let totalHeight = 0; const distance = 100; const timer = setInterval(() => { const scrollHeight = document.body.scrollHeight; window.scrollBy(0, distance); totalHeight += distance; if (totalHeight >= scrollHeight) { clearInterval(timer); resolve(); } }, 100); }); });El error ocurre porque no eligió el elemento correcto para desplazarse.
en el primer ejemplo , eligió .business-tab-wrapper__content como su elemento desplazable, pero este no es un elemento desplazable. Si lo inspecciona, verá que su altura es 0 y, básicamente, es un separador de línea (creo que quería desplazarse hasta él). en ese ejemplo, debe elegir .scroll__content como su sección scrollable_section y desplazarse hasta donde desee (como el offsetHeight de .business-tab-wrapper__content .
en el segundo ejemplo , intenta desplazar el cuerpo del documento, pero nuevamente , el cuerpo en sí no se puede desplazar.
para resumir, debe seleccionar el div desplazable derecho y desplazarlo hasta el desplazamiento que desea