在Python中创建无头Chrome实例

Tri*_*daz 13 python google-chrome embedded-browser headless-browser

在研究了在Python中创建无头Chrome实例的可用选项并询问确认或描述"更好方法"的资源之后,此问题描述了我的结论.

从我所看到的,似乎在Python应用程序中开始使用无头Chrome实例的最快方法是使用CEF(http://code.google.com/p/chromiumembedded/)和CEFPython(http: //code.google.com/p/cefpython/).CEFPython似乎还不成熟,所以使用它可能意味着在我能够加载一个加载网页(和所需文件)的无头Chrome实例之前进一步定制,解析一个完整的DOM,然后让我从Python运行任意JS.

我是否错过了其他更成熟或更容易让我更轻松的项目?

jdi*_*jdi 11

你有没有考虑过使用Chrome驱动程序的Selenium?

http://code.google.com/p/selenium/wiki/ChromeDriver

http://code.google.com/p/selenium/wiki/PythonBindings

  • 结合 http://www.youtube.com/watch?v=DL7gyuqkzzU,这正是我所需要的 (2认同)
  • 要总结youtube,您需要:"from pyvirtualdisplay import Display; display = Display(visible = 0,size =(1024,768)); display.start()" (2认同)

Ibo*_*Ibo 9

这个问题现在已经有5年了,当时使用python运行无头镀铬是一个很大的挑战,但好消息是:

从2017年6月发布的第59版开始,Chrome附带了一个无头驱动程序,这意味着我们可以在非图形服务器环境中使用它并运行测试而无需在视觉上呈现页面等,从而节省了大量时间和内存用于测试或抓取.为此设置Selenium非常简单:

(我假设你已经安装了selenium和chrome驱动程序):

from selenium import webdriver

#set a headless browser
options = webdriver.ChromeOptions()
options.add_argument('headless')
browser = webdriver.Chrome(chrome_options=options)
Run Code Online (Sandbox Code Playgroud)

现在你的chrome会无头地运行,如果你从最后一行中取出选项,它会显示你的浏览器.