我为一位同事编写了一个网络爬虫,以帮助他节省工作时间。这个爬虫是用Python
编写的,使用Selenium
并打开Firefox浏览器。
我在自己的Linux机器上编写了这段代码,使用PyVirtualDisplay
让Firefox不会真正打开并干扰我的工作。
如何在Windows PC上使用虚拟显示器运行它呢?
我为一位同事编写了一个网络爬虫,以帮助他节省工作时间。这个爬虫是用Python
编写的,使用Selenium
并打开Firefox浏览器。
我在自己的Linux机器上编写了这段代码,使用PyVirtualDisplay
让Firefox不会真正打开并干扰我的工作。
如何在Windows PC上使用虚拟显示器运行它呢?
PyVirtualDisplay
的原因是,PyVirtualDisplay使用Xvfb作为显示器,而Xvfb是用于X Window System的无头显示服务器,而Windows不使用X Window System。
不推荐的方法
如果您坚持要使用PyVirtualDisplay,则可以更改Display(visible = True)
,或者您可以按照API中所示设置后端这里。
我的建议
不要使用PyVirtualDisplay
,您可以使用任何Webdriver,例如Chrome驱动程序,并添加ChromeOptions与--headless
。
或者在您的情况下,您使用火狐浏览器,那么它看起来应该像:
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()
欲获取更多更新信息,请查看此处。
希望这能对您有所帮助!