python+selenium实现滚动内嵌div里面的页面(转载)

  • Post author:
  • Post category:python


一、需求描述与问题描述

一开始想实现的是通过selenium访问某个页面后滚动到该页面的最底部,一开始以为自己访问的页面是个普通的页面,像百度那样的普通页面,所以一开始使用的滚动方式是:

driver.execute_script("document.documentElement.scrollTop=10000")

所以滚动内嵌div需要使用滚动div的方式,首先在浏览器检查元素中找到console输入js语句检验是否可以成功滚动,如下:

document.getElementsByClassName('next-cascader-menu-wrapper address-list show-cross-icon')[0].scrollTop = 1000

发现执行console里面js语句可以成功滚动到div页面底部,因此将python脚本中的语句换为如下即可实现自动滚动:

js = "document.getElementsByClassName('next-cascader-menu-wrapper address-list show-cross-icon')[0].scrollTop = 1000"
    driver.execute_script(js)

注:className 为当前内嵌div的class,找到对应div即可知道元素class


转载链接