14

我为一个伙伴写了一个网络爬虫,以节省他的工作时间。它是用Python、 使用Selenium和打开 Firefox 浏览器编写的。

我自己在我使用的 Linux 机器上编写了这段代码,PyVirtualDisplay因此 Firefox 实际上不会打开并干扰我的工作。

如何让它在 Windows PC 上的虚拟显示器中运行?

4

1 回答 1

6

你不能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()

如需更多更新信息,请查看此处

希望这对你有帮助!

于 2018-10-08T10:46:28.763 回答