【发布时间】:2021-01-22 11:26:16
【问题描述】:
我需要滚动到一个元素并截取页面的屏幕截图,但驱动程序在页面完全滚动到该元素之前截取了屏幕截图。我用这种方式睡了一段时间
driver.execute_script("""arguments[0].scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'start' });""", element)
time.sleep(1)
scr = driver.get_screenshot_as_png()
但我真的不想使用 sleep,因为它们不是面向测试的。我试图等待元素可见,但它也不起作用。另一种尝试是使用 ActionChains 移动到元素,但它没有显示整个元素在其上移动。有没有办法等待滚动完成?除了屏幕截图的这种特殊情况之外,了解等待滚动完成的方法会很有用。
【问题讨论】:
标签: javascript python selenium