Есть ли в Windows эквивалент PyVirtualDisplay?

Я написал веб-скребок для помощника, чтобы сэкономить ему время на работе. Это написано в Python, с помощью Selenium и открыв браузер Firefox.

Я сам написал этот код на Linux-машине, которой пользуюсь PyVirtualDisplay поэтому Firefox на самом деле не открывает и не мешает моей работе.

Как я могу заставить его работать на виртуальном дисплее на ПК с Windows?

1 ответ

Причина, по которой вы не можете бежать PyVirtualDisplay в Windows PyVirtualDisplay использует Xvfb в качестве дисплея, а Xvfb - это сервер без дисплея для системы X Window, Windows не использует систему X Window.

не рекомендуется

Итак... что вы можете сделать, если вы настаиваете на работе с PyVirtualDisplay, это изменить Display(visible=True) Или вы можете установить бэкэнд, как показано в API здесь.

Моя рекомендация

Не использовать PyVirtualDisplay Вы можете использовать любой веб-драйвер, такой как драйвер Chrome, и просто добавить ChromeOptions с --headless,

Или в вашем случае вы используете Firefox, чтобы он выглядел примерно так:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.add_argument("--headless")
driver = webdriver.Firefox(firefox_options=options, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
print("Firefox Headless Browser Invoked")
driver.get('http://google.com/')
driver.quit()

Для получения более подробной информации просто посмотрите здесь.

Надеюсь, это поможет вам!

Другие вопросы по тегам