Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Xvfb-浏览器窗口不适合显示_Python_Xvfb_Pyvirtualdisplay - Fatal编程技术网

Python Xvfb-浏览器窗口不适合显示

Python Xvfb-浏览器窗口不适合显示,python,xvfb,pyvirtualdisplay,Python,Xvfb,Pyvirtualdisplay,我正在尝试使用Python库pyvirtualdisplay在虚拟显示中运行web浏览器,它依赖于Xvfb。问题是我需要最大化浏览器,这是我没有做到的。我开始使用1024x768大小的显示器,但浏览器只占屏幕的一部分,无法最大化它。我甚至试着用应该最大化打开它的标志来运行浏览器(googlechrome-start maximized),但没有成功。由于没有按钮来最大化窗口,我尝试按F11进入全屏模式,但只是占据了屏幕的相同部分。 结果可以在下图中看到: 我用于启动显示器的代码: from p

我正在尝试使用Python库
pyvirtualdisplay
在虚拟显示中运行web浏览器,它依赖于
Xvfb
。问题是我需要最大化浏览器,这是我没有做到的。我开始使用1024x768大小的显示器,但浏览器只占屏幕的一部分,无法最大化它。我甚至试着用应该最大化打开它的标志来运行浏览器(
googlechrome-start maximized
),但没有成功。由于没有按钮来最大化窗口,我尝试按
F11
进入全屏模式,但只是占据了屏幕的相同部分。 结果可以在下图中看到:

我用于启动显示器的代码:

from pyvirtualdisplay import Display

Display(visible=1, size=(1024,768)).start()

问题是我没有使用窗口管理器,所以安装(一个轻量级的)并在启动虚拟显示后运行它就成功了。

我遇到了同样的问题。如果您不想使用完整的窗口管理器,以下操作应该可以很好地工作:

import Xlib
import Xlib.display

### Create virtual display and open the browser here ###

dpy = Xlib.display.Display()
root = dpy.screen().root
geometry = root.get_geometry()
for win in root.query_tree().children:
    win.configure(x = 0, y = 0,
        width = geometry.width, height = geometry.height)
dpy.sync()

对于Chrome参数,请指定大小和位置:

chromium browser --window-size=1280,720 --window-position=0,0

这确实帮助我摆脱了chromium浏览器周围的黑色边框。我最终运行了“-window position=0,0--window size=375375”,这样就去掉了浏览器周围10像素的黑色边框。非常感谢,布拉德!杰出-就像一个魔咒,没有额外的程序来运行和跟踪fluxbox。