我为配偶写了一个网络刮刀,以节省他的工作时间。它是用Python
编写的,使用Selenium
并打开Firefox浏览器。
我自己在使用PyVirtualDisplay
的Linux机器上编写了这段代码,因此Firefox实际上并没有打开并干扰我的工作。
如何让它在Windows PC上的虚拟显示器中运行?
答案 0 :(得分:2)
您无法在Windows上运行PyVirtualDisplay
的原因是PyVirtualDisplay使用Xvfb作为其显示,而Xvfb是X Window System的无头显示服务器,Windows不使用X Window System。
不推荐
因此...如果坚持使用PyVirtualDisplay,您可以做的是更改Display(visible=True)
或按照API here所示设置后端。
我的推荐
不要使用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()
有关更多更新的信息,请查看here。
希望这对您有帮助!