这似乎是一个简单的任务,但事实并非如此。几天来我一直在尝试找到一种使用 Selenium 滚动浏览 Telegram 上的 group page 的方法,但似乎 Telegram 不知何故使此操作变得不可能。我尝试了以下所有常规方法,但都失败了:
element = driver.find_element(By.XPATH, "")
element.click()
element.send_keys(Keys.PAGE_UP)
element.send_keys(Keys.PAGE_DOWN)
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
driver.execute_script("window.scrollBy(0, -window.innerHeight);")
driver.execute_script("window.scrollBy(0, -100);")
我几乎可以肯定 Telegram 会阻止 JavaScript 命令的使用,因为当我在控制台中使用以下命令时,它不会滚动页面
window.scrollBy(0, -100);
window.scrollTo(0, 0);
你可以尝试一下。
driver.execute_script("arguments[0].scrollIntoView(true)", element)
在 selenium 版本中,如果 4.11 支持鼠标滚动。
最糟糕的结果是pyautogui,它可以控制你的键盘和鼠标。