文章插图
文章插图
1. 前言
大家好 , 我是安果!
日常编写的 Python 自动化程序 , 如果在本地运行稳定后 , 就可以考虑将它部署到服务器 , 结合定时任务完全解放双手
但是 , 由于自动化程序与平台兼容性有关联 , 有一些依赖库在服务器运行需要做特殊处理
本篇文章以一段 Selenium 编写的 Python 自动化程序 , 聊聊脚本部署服务器的详细过程
2. 操作步骤
以 CentOS 服务器为例
2-1.安装桌面环境
PS:如果已经安装 , 可以跳到下一步
我们需要先安装一个桌面环境「 以 GNOME 为例 」 , 设置以图形模式启动 , 并开启图形界面
# 安装 GNOME 桌面环境yum groupinstall -y “GNOME Desktop”# 设置以图形模式启动systemctl set-default graphical.target# 开启图形界面startx
2-2.安装配置远程桌面
以最常见的 VNC 为例
首先 , 在服务器上安装 VNC Server , 并设置登录密码
# 安装vnc serveryum install tigervnc-server -y# 设置登录密码 , 用于vnc viewer登录密码vncpasswd
然后 , 启动 VNC Server , 并开启对应的端口号
# 开启VNC服务systemctl start vncserver@:1# 设置开机自启systemctl enable vncserver@:1# 查看VNC服务的端口netstat -lnpt|grep Xvnc# 开启端口号firewall-cmd –add-port=5901/tcp –permanentfirewall-cmd –reload
最后 , 下载VNC Viewer , 使用「IP 地址 + 端口号 + 登录密码」远程连接服务器
PS:VNC Server 显式指定IP地址+端口号
2-3.安装 Chrome 浏览器
服务器默认安装的浏览器为 FireFox , Chrome 浏览器需要自己手动安装
# 下载最新的Chrome浏览器wgethttps://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm# 安装浏览器yum installgoogle-chrome-stable_current_x86_64.rpm# 检查Chrome浏览器的版本google-chrome -version
安装完成之后 , 发现使用 Root 用户启动 Chrome 浏览器失败PS:服务器 Chrome 浏览器不支持直接使用 , 需要以 –no-sandbox 参数启动
# 以–no-sandbox方式启动Chrome浏览器# 方式一:命令行启动/usr/bin/google-chrome-stable –no-sandbox# 方式二:修改Chrome浏览器快捷图标的启动方式# 启动方式:–no-sandbox
2-4.配置 Chrome Driver 及授权
在官网下载 Chrome 浏览器对应版本的 Chrome Driver
解压后 , 上传到服务器的「 usr/bin 」目录下
最后 , 对 chromedriver 文件授予可执行的权限
[[email protected] xh]# cd /usr/bin# 授予可执行的权限[[email protected] 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)
「有头模式」测试运行正常后 , 就可以开启「无头模式」 , 编写定时任务 , 将自动化脚本与定时任务关联上 。
3. 最后
文中以 Selenium 自动化脚本部署服务器的步骤流程进行了阐述
需要指出的是 , 服务器上的可视化调试测试确实很有必要 , 它可以帮助我们提前定位兼容性问题
【python服务器端开发 python应用服务器】如果你觉得文章还不错 , 请大家 点赞、分享、留言 下 , 因为这将是我持续输出更多优质文章的最强动力!
- 手机上的vnc怎么用 vnc连接服务器
- ftp服务器软件有哪些 FTP服务器具有哪些功能
- 无法连接adobe服务器请检查防火墙设置 卸载ps显示无法连接adobe服务器
- linux系统开端口命令 linux开放端口
- 阿里云云服务器购买 怎样购买阿里云服务器
- pc端是什么意思包括笔记本吗 pc端浏览器是什么意思
- 如何打开1433端口的解决方法 如何打开电脑1433端口
- 前端如何优化 如何对前端性能进行优化
- 阿里云服务器收费价格表 阿里云服务器收费方式
- 架设ip代理服务器 服务器做代理ip