安排selenium在远程服务器上运行

时间:2016-05-30 15:25:35

标签: python selenium phantomjs 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

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

python my_script.py

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

2 个答案:

答案 0 :(得分:4)

您无需在服务器上使用读取GUI即可使用任何浏览器运行Selenium。 Selenium可以在任何具有Chrome或Firefox等真实浏览器的服务器上轻松运行。

以下是一些可以帮助您使其正常运行的代码:

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

答案 1 :(得分:1)

如果您希望脚本继续执行,即使您失去与服务器的连接,也可以使用Tmuxscreen等终端软件轻松完成此操作