我为一位同伴编写了一个网络刮板,以节省他的工作时间。它是Python使用,使用Selenium和打开Firefox浏览器编写的。
Python
Selenium
我已经在使用的Linux机器上亲自编写了此代码,PyVirtualDisplay因此Firefox实际上不会打开并干扰我的工作。
PyVirtualDisplay
如何使其在Windows PC的虚拟显示器中运行?
您无法PyVirtualDisplay在Windows上运行的原因是PyVirtualDisplay使用Xvfb作为其显示,而Xvfb是X Window System的无头显示服务器,Windows不使用X Window System。
不建议
所以…如果您坚持使用PyVirtualDisplay,您可以做的就是更改Display(visible=True)Or或按此处 API所示设置后端。
Display(visible=True)
我的建议
请勿使用,PyVirtualDisplay您可以使用任何网络驱动程序(例如Chrome驱动程序),而只需添加带有的ChromeOptions --headless。
--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()
有关更多更新的信息,请在这里查看。
希望这对您有所帮助!