我为一个伙伴写了一个网络爬虫,以节省他的工作时间。它是用Python、 使用Selenium和打开 Firefox 浏览器编写的。
我自己在我使用的 Linux 机器上编写了这段代码,PyVirtualDisplay因此 Firefox 实际上不会打开并干扰我的工作。
如何让它在 Windows PC 上的虚拟显示器中运行?
我为一个伙伴写了一个网络爬虫,以节省他的工作时间。它是用Python、 使用Selenium和打开 Firefox 浏览器编写的。
我自己在我使用的 Linux 机器上编写了这段代码,PyVirtualDisplay因此 Firefox 实际上不会打开并干扰我的工作。
如何让它在 Windows PC 上的虚拟显示器中运行?
你不能PyVirtualDisplay在 Windows 上运行的原因是 PyVirtualDisplay 使用 Xvfb 作为它的显示,而 Xvfb 是 X 窗口系统的无头显示服务器,Windows 不使用 X 窗口系统。
不建议
所以...如果您坚持使用 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()
如需更多更新信息,请查看此处。
希望这对你有帮助!