使Python程序的窗口不要显示出来

使Python程序的窗口不要显示出来

这个标题不是很贴切,一时半会儿想不到更好的,就先用这个。为了更好的说明这个标题要说的事情,这里我们举个例子吧,例如利用python和firefox来完成一个周期性检测一个订票系统,那么你要它一会儿调用firefox,一会儿关掉,如果这个电脑是你正在用,那么这种方式会让影响你,那么我们就想到把不要这个窗口显示出来,而是所有的工作都在后台进行。这个怎么做到呢?我们需要2个东西

  1.  Xvfb
  2.  pyvirtualdisplay

先安装他们:

$ sudo yum install -y Svfb

$ sudo pip install pyvirtualdisplay

接下面我们测试一下:

#!/usr/bin/env python

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

# now Firefox will run in a virtual display. 
# you will not see the browser.
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()

display.stop()

运行上面的python脚本,看看什么效果。是不是打印出来了brower的标题,Google 呢?但是并没有把firefox显示出来呢?这就是我们想要的效果。

如果我们把上的民的 display.start()  和 display.stop 注释掉,再次运行看看效果。

i

 

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章转载自:IT夜班车,否则按侵权处理i.

    分享到:

留言

你的邮箱是保密的 必填的信息用*表示