首页 > 解决方案 > Python Selenium 不会改变 Scroll Height 谷歌地图评论

问题描述

我正在滚动谷歌地图评论直到滚动结束,但我不能离开 while 循环。我试图在滚动后滚动最后一个高度和新高度,但它给出了相同的结果。

输出相同的高度

2194
2194
2194 
last_height = driver.execute_script("return document.documentElement.scrollHeight")
            print(last_height)
            while True:
                scroller = driver.find_element_by_class_name('review-dialog-list')
                driver.execute_script('arguments[0].scrollTop = arguments[0].scrollHeight',scroller)
                sleep(3)
                new_height= driver.execute_script("return document.documentElement.scrollHeight")
                #new_height = driver.execute_script("return window.pageYOffset;")
                print(new_height)

标签: javascriptpythonseleniumweb-scraping

解决方案


最后我为这个问题提出了一个解决方案。

                while True:
                driver.execute_script("document.getElementsByClassName(\'review-dialog-list\')[0].scrollTo(0, document.getElementsByClassName(\'review-dialog-list\')[0].scrollHeight)")
                sleep(5)
                new_height = driver.execute_script("return document.getElementsByClassName(\'review-dialog-list\')[0].scrollHeight")
                #print('new_height:', new_height)
                if new_height == last_height:
                    break
                else:
                    last_height = new_height

推荐阅读