PYTHON 页面截屏

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
#需要下载chromedriver
from selenium.webdriver.chrome.options import Options

import os
import pymysql
# 1. 连接数据库,
conn = pymysql.connect(
    host='',
    user='',
    password='',
    db='',
    charset='utf8',
       # autocommit=True,    # 如果插入数据,, 是否自动提交? 和conn.commit()功能一致。
)
cur = conn.cursor()

import time
# 格式化成2016-03-20 11:45:39形式
create_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

chrome_options = Options()
# 静默模式
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
# 禁止图片加载
chrome_options.add_experimental_option('prefs', {'profile.managed_default_content_settings.images': 2})
driver = webdriver.Chrome(options=chrome_options)

data = ['00340434496741082137','00340434496740474957']

js_height = "return document.body.clientHeight"
for i in data:
	driver.get('https://www.cne.com/English/?no='+i)
	k = 1
	height = driver.execute_script(js_height)
	while True:
		if k * 500 < height:
			js_move = "window.scrollTo(0,{})".format(k * 500)
			print(js_move)
			driver.execute_script(js_move)
			time.sleep(0.5)
			height = driver.execute_script(js_height)
			k += 1
		else:
			break
	scroll_width = driver.execute_script('return document.body.parentNode.scrollWidth')
	scroll_height = driver.execute_script('return document.body.parentNode.scrollHeight')
	driver.set_window_size(2000, scroll_height)
	tuple1 = ('img/',i, '.png')
	driver.get_screenshot_as_file(''.join(tuple1))

	sqli = "insert into img_tmp(type, tracking_no) values ('CNE', '"+i+"')";
	cur.execute(sqli)
	conn.commit()
	print(i)
	time.sleep(1)

driver.quit()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现Python页面截屏并保存为PDF,可以使用Python的selenium库和pyPdf库来实现。 首先,需要安装selenium库和pyPdf库。可以使用pip来进行安装: ``` pip install selenium pyPdf ``` 接下来,我们需要下载并安装Chromedriver。Chromedriver是用于控制Chrome浏览器的一个工具。可以通过以下链接下载Chromedriver: https://sites.google.com/a/chromium.org/chromedriver/downloads 下载完成后,将下载的Chromedriver解压,并将其路径添加到系统环境变量中。 接下来是编写代码。以下是一个示例代码: ```python from selenium import webdriver from pyPdf import PdfWriter import time # 创建Chrome浏览器驱动 driver = webdriver.Chrome() # 打开网页 driver.get('https://www.example.com') # 等待页面完全加载 time.sleep(5) # 获取页面高度 height = driver.execute_script("return document.documentElement.scrollHeight") # 创建一个空的PDF文件 output_pdf = PdfWriter() # 设置截图的宽度和高度 driver.set_window_size(1920, height) # 循环滚动页面截屏 for i in range(0, height, 1080): # 滚动页面 driver.execute_script(f"window.scrollTo(0, {i})") time.sleep(1) # 截屏并保存为临时文件 driver.save_screenshot('/tmp/temp.png') # 将截屏图片添加到PDF文件中 output_pdf.add_page('/tmp/temp.png') # 保存PDF文件 output_pdf.write('screenshot.pdf') # 关闭浏览器 driver.quit() ``` 代码中,我们首先创建了一个Chrome浏览器驱动。然后打开指定的网页,并等待页面完全加载。接着获取页面的高度,并创建一个空的PDF文件。然后设置截图的宽度和高度,并循环滚动页面,并在每一次滚动时进行截屏,将截屏图片添加到PDF文件中。最后保存PDF文件并关闭浏览器。 请确保在实际运行代码之前,将以下行代码中的网页链接和文件保存路径修改为你所需的地址: ```python driver.get('https://www.example.com') driver.save_screenshot('/tmp/temp.png') output_pdf.write('screenshot.pdf') ``` 希望对你有所帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值