在Python中创建无头Chrome实例

2024-05-06 20:13:28 发布

您现在位置:Python中文网/ 问答频道 /正文

在研究了在Python中创建无头Chrome实例的可用选项之后,这个问题描述了我的结论,并要求确认或参考描述“更好的方法”的资源。

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

我是否错过了其他更成熟的项目,或者会让我更容易完成?


Tags: 实例方法com应用程序http选项googlecode
3条回答

当我是CasperJS的作者时,我邀请您查看Ghost.py一个用Python编写的webkit web客户端。

虽然它深受CasperJS的启发,但它并不是基于PhantomJS-它仍然使用PyQt绑定和Webkit。

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

从2017年6月发布的59版开始,Chrome配备了一个无头驱动程序,这意味着我们可以在非图形服务器环境中使用它,运行测试,而无需可视化呈现页面等,从而节省了大量的时间和内存用于测试或擦除。设置硒是非常容易的:

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

from selenium import webdriver

#set a headless browser
options = webdriver.ChromeOptions()
options.add_argument('headless')
browser = webdriver.Chrome(chrome_options=options)

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

相关问题 更多 >