将 selenium 安排到远程服务器上的 运行

Schedule selenium to run on a remote server

我需要在远程服务器上 运行 selenium,因为服务器没有屏幕 我正在使用 PhantomJS 作为 Web 驱动程序。这是我的代码:

import time
import os,sys
reload(sys)  
sys.setdefaultencoding('utf8')
import re
from selenium import webdriver


url = 'https://wiki.python.org/moin/HowTo/Sorting'

driver_1 = webdriver.PhantomJS()
driver_1.get(url)
content = driver_1.page_source

在我的电脑上,它工作正常,但在那之后,我会打开其他页面,所以我需要代码保持 运行ning 一段时间。 我从终端 运行ning 脚本为:

python my_script.py

并且该脚本将在我访问服务器的同一终端上执行,因此我将无法断开连接,或者如果连接丢失,脚本将停止,我该如何处理这个问题?

您不需要服务器上的读取 GUI 即可 运行 Selenium 与任何浏览器。 Selenium 可以很容易地 运行 在任何服务器上使用 Chrome 或 Firefox 等真正的浏览器。

这里有一些代码可以帮助您使其正常工作:

from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
driver = webdriver.Chrome() # Or Firefox()

如果您希望脚本在失去与服务器的连接的情况下继续执行,您可以使用 Tmux or screen

等终端软件轻松完成此操作