您可以使用webbrowser打开无头浏览器吗?

时间:2019-03-09 02:53:49

标签: python

我只是想知道是否可以使用webbrowser模块打开无头浏览器?我是编程新手,几乎没有经验,甚至都不知道在哪里看。我听说这是一个不错的起点。我想使用webbrowser模块,因为我计划在其他计算机上运行该程序,并且普通人没有在其计算机上安装诸如chrome驱动程序之类的特殊软件,而且webbrowser不需要PATH即可打开浏览器窗口。所以我想使用它。如果有人知道任何其他不需要PATH即可打开常用浏览器的替代模块,请这么做。

2 个答案:

答案 0 :(得分:2)

错误的术语:无头浏览器应更一般地称为某些 HTTP客户端。阅读有关HTTP的更多信息,并花一些时间来了解HTTP客户端应该发生什么以及HTTP服务器应该发生什么。另请注意HTML5,JavaScript,AJAX和其他网络技术。它们在Firefox等常用浏览器中的用法相关,但在概念上是独立的。

当然,您的典型浏览器是HTTP客户端,但是还有许多其他HTTP客户端(例如wget或使用libcurl的任何程序,这是一个不错的free software HTTP客户端< em> library 或web crawlers)。

某些浏览器(例如links)比典型的浏览器要粗糙得多,但是所有浏览器都是HTTP客户端。他们甚至可能不了解JavaScript或CSS(甚至不显示任何图像)。他们仍然应该被称为“ browsers”。某些程序(例如selenium)可重现典型浏览器的许多功能(甚至包括JavaScript或CSS),但在屏幕上却什么也不显示。您可能称他们为headless browsers,但他们甚至可能都不声称自己是一个。

Python包含一些HTTP客户端(以及HTTP服务器)functions

您可以找到其他HTTP服务器库,例如libonion

许多程序使用HTTP(浏览之外,例如inter-process communication)。请注意web services

PS。这是我第一次阅读有关 headless浏览器的信息,所以我认为这种术语并不常见。

答案 1 :(得分:2)

大多数模块都有所谓的API文档。对于网络浏览器模块,可以在这里找到:https://docs.python.org/3.6/library/webbrowser.html

如果遇到找不到任何文档的模块,请在iPython中尝试help()

import webbrowser
help(webbrowser) # help for module
help(webbrowser.get) # help for function
browser = webbrowser.get()
help(browser) # help for browser object

可以看到,这不是webbrowser模块的文档功能。不过,您可能还需要研究其他模块-此列表似乎是一个不错的开始https://github.com/dhamaniasad/HeadlessBrowsers


顺便说一句。来回复Basile Starynkevitch(我还没有足够的声誉在其他帖子下添加评论):无头浏览器可能会处理JavaScript并遵循HTML转发。您从提到的软件中将无法获得同样的体验。