Python + Selenium 实现对页面的指定元素截图(可截长图元素)【转载】
2018-02-16 11:06
1256 查看
先在首页上执行一段 JavaScript 脚本,将页面的滚动条拖到最下方,然后再拖回顶部,最后才截图。这样可以解决那种按需加载图片的情况
以下代码为转载别处博客改造后的,有chrome和ff两种浏览器。
由于webdriver.chrom只能截取当前页面图片,不能截取整个网页图片,因此额外使用webdriver.PhantomJS,需要下载PhantomJS,将PhantomJS.exe放到python的script目录下
以下代码为转载别处博客改造后的,有chrome和ff两种浏览器。
由于webdriver.chrom只能截取当前页面图片,不能截取整个网页图片,因此额外使用webdriver.PhantomJS,需要下载PhantomJS,将PhantomJS.exe放到python的script目录下
from selenium import webdriver import time def capture(browser_name,url,save_fn): #save_fn = save_fn + ".png" save_fn = url.split("://")[1].replace('/',' ') + ".png" #print save_fn if browser_name == 'firefox' or browser_name == 'Firefox' or browser_name == 'ff': driver = webdriver.Firefox() driver.maximize_window() elif browser_name == 'chrome' or browser_name == 'Chrome': #options = webdriver.chrome.options.Options() #options.add_argument("--start-maximized") #driver = webdriver.Chrome(chrome_options=options) driver = webdriver.PhantomJS() driver.maximize_window() else: raise AssertionError("browser name is error,firefox/Firefox/ff/chrome/Chrome") driver.get(url) # Load page driver.execute_script(""" (function () { var y = 0; var step = 100; window.scroll(0, 0); function f() { if (y < document.body.scrollHeight) { y += step; window.scroll(0, y); setTimeout(f, 50); } else { window.scroll(0, 0); document.title += "scroll-done"; } } setTimeout(f, 1000); })(); """) for i in xrange(30): if "scroll-done" in driver.title: break time.sleep(1) driver.save_screenshot(save_fn) driver.close() if __name__ == "__main__": capture("ff","https://www.cnblogs.com/yes123/p/5279843.html")
相关文章推荐
- Python+Selenium 自动化实现实例-获取页面元素信息
- selenium python 指定元素截图
- Selenium with Python 004 - 页面元素操作
- 使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的...
- Python+Selenium使用Page Object实现页面自动化测试
- Python中使用 Selenium 实现网页截图实例
- python+selenium简单实现拖动元素实例
- 【二】【selenium+python】发现页面元素的方法介绍
- selenium页面元素截图
- 27、Selenium + Python 实现 UI 自动化测试-调用 JavaScript 修改元素属性
- Selenium with Python 005 - 调用js操作页面元素
- Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
- Python+selenium实现截图图片并保存截取的图片
- [Python爬虫] Selenium自动访问Firefox和Chrome并实现搜索截图
- Python appium selenium当页面元素 没有加载出来时 ,等待元素加载出来的方法
- Selenium 疑问之二:如何使页面滚动条移动到指定元素element的位置处?
- 代码实现(一): 用Python抓取指定页面
- Python+Selenium使用Page Object实现页面自动化测试
- python selenium截取指定元素图片
- Selenium学习8--截图,拖拽页面元素,键盘操作,鼠标右键,悬停,鼠标双击