You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在远程Linux服务器运行含Selenium的Python脚本?

当然可以在远程Linux服务器上运行Selenium Python脚本!

我帮你梳理下具体步骤和关键注意点,确保你的Facebook自动化脚本能稳定7×24小时运行,不用一直开着本地电脑。

一、先搞定服务器上的依赖安装

首先得把运行脚本需要的组件都装好,以Debian/Ubuntu系列服务器为例:

  • 安装Python和包管理工具:
    sudo apt update && sudo apt install python3 python3-pip -y
    
  • 安装Selenium库:
    pip3 install selenium
    
  • 安装浏览器和驱动:
    服务器没有图形界面,我们用无头Chrome就行:
    sudo apt install chromium-browser -y
    
    为了避免手动匹配ChromeDriver版本的麻烦,推荐安装webdriver-manager,它会自动下载对应版本的驱动:
    pip3 install webdriver-manager
    

二、配置无头浏览器(核心!)

远程服务器没有桌面环境,必须让Selenium以无头模式运行浏览器,否则脚本会报错。给你个实用的代码模板,直接套你的Facebook逻辑就行:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager
import random
import time

# 配置Chrome无头模式参数
chrome_options = Options()
chrome_options.add_argument("--headless=new")  # 新版无头模式,行为更接近真实浏览器
chrome_options.add_argument("--no-sandbox")    # 绕过Linux沙箱限制,服务器环境必备
chrome_options.add_argument("--disable-dev-shm-usage")  # 解决服务器临时内存不足问题
chrome_options.add_argument("--window-size=1920,1080")  # 设置窗口尺寸,避免元素定位失败
chrome_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36")  # 模拟真实用户代理

# 初始化驱动
driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)

# 你的Facebook操作逻辑
try:
    driver.get("https://www.facebook.com")
    # 这里写登录、工作操作的代码...
    # 记得加随机延迟,模拟真实用户行为,避免被封
    time.sleep(random.uniform(2, 5))
finally:
    driver.quit()  # 确保操作完成后关闭浏览器

三、让脚本7×24小时持续运行

搞定代码后,得保证关闭SSH连接后脚本还能继续跑,这里给你三种常用方案:

1. 最简单的:用nohup后台运行

直接在终端执行:

nohup python3 your_script.py &
  • nohup会让脚本忽略挂起信号,关闭SSH也不会停止
  • 脚本的输出会默认写到当前目录的nohup.out文件里,方便排查问题

2. 可交互的:用screen/tmux会话

如果你需要偶尔查看脚本运行状态,甚至中途调整,推荐用screen:

  • 先安装screen:sudo apt install screen -y
  • 创建一个新会话:screen -S fb_bot(fb_bot是会话名,随便取)
  • 在会话里运行脚本:python3 your_script.py
  • 按Ctrl+A+D即可 detach(脱离)会话,此时关闭SSH,脚本仍在后台运行
  • 下次登录服务器,用screen -r fb_bot就能重新连接到这个会话,查看运行状态

3. 最稳定的:用systemd服务(推荐长期运行)

如果希望脚本开机自动启动,崩溃后自动重启,用systemd是最佳选择:

  1. 创建一个服务文件,比如/etc/systemd/system/fb-bot.service:
    [Unit]
    Description=Facebook Automation Bot
    After=network.target  # 网络就绪后再启动
    
    [Service]
    User=your_username  # 替换成你的服务器用户名
    WorkingDirectory=/path/to/your/script/folder  # 脚本所在目录
    ExecStart=/usr/bin/python3 /path/to/your/script/your_script.py  # 脚本绝对路径
    Restart=always  # 崩溃后自动重启
    RestartSec=10  # 重启间隔10秒
    
    [Install]
    WantedBy=multi-user.target
    
  2. 重新加载systemd配置并启用服务:
    sudo systemctl daemon-reload
    sudo systemctl enable --now fb-bot.service
    
  3. 查看服务状态:
    sudo systemctl status fb-bot.service
    

四、避坑提醒(针对Facebook自动化)

Facebook的反爬机制很严格,稍不注意就会被封号,一定要注意:

  • 模拟真实用户行为:添加随机延迟(比如time.sleep(random.uniform(2,5))),不要快速连续操作
  • 避免固定操作模式:比如每次点击间隔不要完全一样,偶尔加个随机滚动页面的动作
  • 不要用新号测试:尽量用活跃度高的老账号,降低被检测风险
  • 定期更换IP:如果服务器IP固定且频繁操作,容易被标记,必要时可以用代理(但要注意代理质量)

内容的提问来源于stack exchange,提问作者gimmieanswersplox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:36:17