1、sudo yum install firefox -y
2、安装python3l selenium
sudo yum install python3 python3-pip -ypip3 install selenium
3、下载centos7适配的geckodriver
# 创建一个目录用于存放驱动 mkdir -p ~/webdrivers # 下载最新版本的 Geckodriver (以 v0.33.0 为例) cd ~/webdrivers wget https://github.com/mozilla/geckodriver/releases/download/v0.33.0/geckodriver-v0.33.0-linux64.tar.gz # 解压文件 tar -xvzf geckodriver-v0.33.0-linux64.tar.gz # 移动到系统路径 sudo mv geckodriver /usr/local/bin/ # 设置执行权限 sudo chmod +x /usr/local/bin/geckodriver4、测试截屏代码
#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.firefox.service import Service as FirefoxService
from selenium.webdriver.firefox.options import Options as FirefoxOptions
import time
def take_full_page_screenshot(url, output_path):
firefox_options = FirefoxOptions()
firefox_options.add_argument("--headless")
# 如果 Firefox 未在默认路径中,可设置二进制路径,例如:
# firefox_options.binary_location = '/usr/bin/firefox'
service = FirefoxService(executable_path="/usr/local/bin/geckodriver")
driver = webdriver.Firefox(service=service, options=firefox_options)
try:
driver.get(url)
time.sleep(2) # 等待页面加载
# 隐藏滚动条(通过注入 CSS)
driver.execute_script("""
document.querySelector('html').style.overflow = 'hidden';
document.querySelector('body').style.overflow = 'hidden';
var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = `
* {
-ms-overflow-style: none !important;
scrollbar-width: none !important;
}
*::-webkit-scrollbar {
display: none !important;
}
`;
document.head.appendChild(style);
""")
# 获取页面的实际宽度和高度
required_width = driver.execute_script('return document.documentElement.scrollWidth')
required_height = driver.execute_script('return document.documentElement.scrollHeight')
# 调整窗口尺寸以包含全部内容
driver.set_window_size(required_width, required_height)
time.sleep(1) # 等待窗口调整
# 截取并保存截图
driver.save_screenshot(output_path)
print(f"Screenshot saved as {output_path}")
print(f"Page dimensions: {required_width}x{required_height}")
print(f"<img src='{output_path}' />")
except Exception as e:
print(f"Error taking screenshot: {str(e)}")
finally:
driver.quit()
if __name__ == "__main__":
url = "https://www.qq.com"
output_path = "ff_screenshot2.png"
take_full_page_screenshot(url, output_path) 网友回复
有没有免费让ai自动帮你接管操作电脑的mcp服务?
mcp为啥用Streamable HTTP 替代 HTTP + SSE?
scratchjr有没有开源的前端html网页版本源代码?
多模态大模型能否根据ui交互视频来来模仿写出前端交互动画效果ui代码?
如何用阿里云oss+函数计算fc+事件总线EventBridge+消息队列+数据库+redis缓存打造一个高并发弹性系统?
阿里云函数计算 FC如何在海外节点搭建一个代理网络?
ai studio中gemini build的代码如何发布到github pages等免费网页托管上 ?
如何在cursor、qoder、trae中使用Claude Skills功能?
有没有不用u盘就能重装系统的开源工具?
python如何固定摄像头实时计算停车场停车位剩余数量?


