Xvfbwrapper模块返回异常

时间:2015-07-12 16:55:05

标签: python windows firefox selenium xvfb

我正在尝试使用Firefox网络驱动程序作为Windows中的无头驱动程序 - Python。我正在使用Selenium。

我尝试了很多东西,但没有任何作用,所以我尝试了xvfbwrapper,它应该在虚拟屏幕上运行Firefox。

from xvfbwrapper import Xvfb

vdisplay = Xvfb()
vdisplay.start()

返回错误:

Traceback (most recent call last):
  File "C:\Users\Milano\My Documents\LiClipse Workspace\Pelikan_bot\pelikan.py", line 20, in <module>
    vdisplay.start()
  File "C:\Python27\lib\site-packages\xvfbwrapper.py", line 48, in start
    self.vdisplay_num = self.search_for_free_display()
  File "C:\Python27\lib\site-packages\xvfbwrapper.py", line 72, in search_for_free_display
    ls = [int(x.split('X')[1].split('-')[0]) for x in self._lock_files()]
  File "C:\Python27\lib\site-packages\xvfbwrapper.py", line 85, in _lock_files
    names = fnmatch.filter(os.listdir(tmpdir), pattern)
WindowsError: [Error 3] The system cannot find the path specified: '/tmp/*.*'

你知道我做错了什么,或者你有更好的解决方案吗? (我想继续使用Firefox,因为PhantomJS的行为不同,所以它会返回Firefox没有的错误。)

1 个答案:

答案 0 :(得分:2)

Xvfb或X虚拟帧缓冲区是实现X11显示服务器协议的显示服务器。 Windows不使用X11,你甚至可以看到python代码假设是/ tmp,这是Unix惯例。