聊聊 Python 自动化脚本部署服务器全流程(详细)
发布日期:2021-04-30 21:09:30
浏览次数:96
分类:精选文章
本文共 1894 字,大约阅读时间需要 6 分钟。
前言
日常编写的 Python 自动化程序,如果在本地运行稳定后,就可以考虑将它部署到服务器,结合定时任务完全解放双手。
但是,由于自动化程序与平台兼容性有关联,有一些依赖库在服务器运行需要做特殊处理。本篇文章以一段 Selenium 编写的 Python 自动化程序为例,聊聊脚本部署服务器的详细过程。
操作步骤
以 CentOS 服务器为例。
2-1 安装桌面环境
PS:如果已经安装,可以跳到下一步。
我们需要先安装一个桌面环境「以 GNOME 为例」》,设置以图形模式启动,并开启图形界面。
# 安装 GNOME 桌面环境yum groupinstall -y "GNOME Desktop"# 设置以图形模式启动并开启图形界面systemctl set-default graphical.targetstartx
2-2 安装配置远程桌面
以最常见的 VNC 为例。
# 安装 VNC Serveryum install tigervnc-server -y# 设置登录密码,用于 VNC Viewer 登录密码vncpasswd# 启动 VNC Server 并开启对应的端口号systemctl start vncserver@:1systemctl enable vncserver@:1# 查看 VNC 服务的端口netstat -lnpt | grep Xvnc# 开启端口号firewall-cmd --add-port=5901/tcp --permanentfirewall-cmd --reload# 下载 VNC Viewer 并使用 "IP 地址 + 端口号 + 登录密码" 远程连接服务器
2-3 安装 Chrome 浏览器
服务器默认安装的浏览器为 FireFox,Chrome 浏览器需要自己手动安装。
# 下载最新的 Chrome 浏览器wget http://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm# 安装浏览器yum install google-chrome-stable_current_x86_64.rpm# 检查 Chrome 浏览器的版本google-chrome -version
安装完成后,发现使用 Root 用户启动 Chrome 浏览器失败。
PS:服务器 Chrome 浏览器不支持直接使用,需要以 --no-sandbox 参数启动。
# 方式一:命令行启动/usr/bin/google-chrome-stable --no-sandbox# 方式二:修改 Chrome 浏览器快捷图标的启动方式# 启动方式:--no-sandbox
2-4 配置 Chrome Driver 及授权
在官网下载 Chrome 浏览器对应版本的 Chrome Driver。
解压后,上传到服务器的「 /usr/bin 」目录下。
# cd /usr/bin# 授予可执行的权限sudo chmod +x chromedriver
2-5 可视化运行测试
将自动化脚本上传到服务器,设置以有头模式运行。
注意:由于服务器的 Chrome 需要配置以 no-sandbox 模式启动,因此自动化脚本需要添加设置属性。
option = webdriver.ChromeOptions()option.add_argument('headless')option.add_argument('no-sandbox')option.add_argument('disable-dev-shm-usage')option.add_experimental_option('useAutomationExtension', False)option.add_experimental_option('excludeSwitches', ['enable-automation'])browser = webdriver.Chrome(chrome_options=option) 有头模式测试运行正常后,就可以开启无头模式,编写定时任务,将自动化脚本与定时任务关联上。
最后
文中以 Selenium 自动化脚本部署服务器的步骤流程进行了阐述。
需要指出的是,服务器上的可视化调试测试确实很有必要,它可以帮助我们提前定位兼容性问题。
推荐好文
(本部分可根据实际情况添加相关推荐内容)
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2026年06月12日 02时39分24秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
queue队列、deque双端队列和priority_queue优先队列
2023-03-02
PKUSC2018游记
2023-03-02
PK项目测试,做产品测试有这4大优势!
2023-03-02
PL SQLDEVELOPMENT导出数据库脚本
2023-03-02
Queue
2023-03-02
PL/SQL Developer中文版下载以及使用图解(绿色版)
2023-03-02
pl/sql developer乱码,日期格式等问题解决
2023-03-02
PL/SQL 中的if elsif 练习
2023-03-02
PL/SQL 存储函数和过程
2023-03-02
query简单入门到精通细节 - (六)Jquery效果之“淡入与淡出”
2023-03-02
PL/SQL提示“ORA-01722:无效数字,将无效数字查找出来
2023-03-02
PL/sql语法单元
2023-03-02