0
我有一個Django應用程序,其中一個View函數調用創建Selenium Webdriver的腳本。服務器正在運行CentOS,並且正在運行VNC服務器。Python Selenium指定在Django應用程序中顯示
我收到的錯誤是'錯誤:沒有指定顯示。'如何正確指定啓動此腳本時使用的顯示?我需要使用類似pyvirtualdisplay的東西嗎?
我在Python腳本嘗試這樣做:
import os
os.environ['DISPLAY'] = ':3'
:3是VNC顯示我想在啓動Firefox的實例。
我也試過pyvirtualdisplay:
from pyvirtualdisplay.xvnc import XvncDisplay
display = XvncDisplay(rfbport='5903')
display.start()
這導致了同樣的無顯示指定的錯誤。
我沒有看到任何與你在那裏描述的東西有內在的錯誤。你確定你早期設置了'DISPLAY'變量嗎? – Louis
看起來這是一個問題。我將它設置爲低於webdriver的導入。但是,現在我得到'沒有指定協議。錯誤無法打開顯示:3'是否有另一個變量,我必須設置它說vnc? – wohlgejm
谷歌搜索之後「沒有指定協議」,我想你可能會遇到干擾你正在嘗試做的事情的dbus實例。你可以嘗試取消設置環境變量'DBUS_SESSION_BUS_ADDRESS'。 (我遇到過這個問題[之前](https://stackoverflow.com/questions/19879554/how-can-i-make-my-selenium-test-suite-launch-its-firefox-instances-in- xnest-or-x)我自己。) – Louis