python3中的selenium中的滚动条!

来源:互联网 发布:速达进销存软件 编辑:程序博客网 时间:2024/05/16 05:31

我们在进行网页抓取数据时候会经常碰到一些拉动滚动条才出现js加载的数据,就会用到selenium中下拉滚动条的方法。
通过selenium模拟浏览器,然后设置浏览器高度足够长,然后延时使之能够将页面的内容都能够加载出来

# 导入selenium中的webdriver方法from selenium import webdriver# 导入time中sleep的方法 用来得到网页数据后添加等待时候显示数据from time import sleep# 使用etree方法匹配数据from lxml import etree# 使用的是chrome浏览器打开网页driver = webdriver.Chrome()# 这里的循环是得到京东手机信息的前四页数据for i in range(1,165, 54):    # 手机的网址    driver.get('https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=%E6%89%8B%E6%9C%BA&cid2=653&cid3=655&page=7&s={}&click=0'.format(i))    # 打开网页后全屏显示    driver.maximize_window()    # 休眠一秒 这个是必须的要不然不显示数据    sleep(1)    # 这个是你下拉多少像素    driver.execute_script("window.scrollBy(0,4800)")    # 下拉后休眠一秒    sleep(1)    # 得到网页中的数据    demo = driver.page_source    # 找到图片的信息    img = etree.HTML(demo).xpath('//*[@id="J_goodsList"]/ul/li/div/div[1]/a/img/@src')    # 得到价格的信息    price = etree.HTML(demo).xpath('//*[@id="J_goodsList"]/ul/li/div/div[3]/strong/i/text()')    # 得到手机的标题信息    title = etree.HTML(demo).xpath('//*[@id="J_goodsList"]/ul/li/div/div[4]/a/em/text()[1]')    # 得到手机的链接信息    url_ = etree.HTML(demo).xpath('//*[@id="J_goodsList"]/ul/li/div/div[1]/a/@href'''