当前位置:   article > 正文

在无GUI环境下(headless模式)配置并使用Python+selenium+chromium/firefox的流程_selenium+headless firefox 需要下载firefox吗?

selenium+headless firefox 需要下载firefox吗?

Selenium

Selenium封装了能够进行浏览器自动化的一系列工具和库的一款自动化工具。Selenium提供了遵守W3C WebDriver specification的一个平台,并且该平台提供了能与当前市面上几乎所有浏览器兼容的接口。如果需要使用SeleniumAPI控制浏览器,只需要定义 Selenium WebDriver并下载相应浏览器的驱动程序(executable)即可。需要注意的是,该驱动程序需要位于系统路径(PATH环境变量)下,这样Selenuim才可以找得到这个程序。同时我们需要保证该驱动程序属性是可执行文件(可以利用chmod a+x chromedriver修改)

因为其良好的兼容性,Selenium现在被广泛用作自动化前端测的工具,或者用于驱动一些复杂的爬虫程序。

在headless环境中运行Selenium webdriver

默认情况下,WebDriver将会自动启动一个浏览器然后在该浏览器中运行脚本中指定的步骤,最后退出。但这种情况要求我们一定要有GUI输出。如果我们希望在一个无GUI的环境(如一台linux服务器)中通过命令行来执行我们的脚本,则需要进行一定配置。

首先我们需要安装Firefox或者Chromium浏览器。

$ sudo apt-get update
$ sudo apt-get install chromium-browser
  • 1
  • 2

或者

$ sudo apt-get update
$ sudo apt-get install firefox
  • 1
  • 2

其次我们需要安装Selenium。

$ sudo pip install selenium
  • 1

最后我们需要下载相应浏览器的driver驱动文件并将其放在PATH路径下。

方法1:使用Xvfb创建虚拟Xwindow输出

首先我们需要安装xvfb(X windows virtual frame buffer)。运行如下命令:

$ sudo apt-get update
$ sudo apt-get install xvfb
  • 1
  • 2

然后我们需要启动Xvfb并指定一个输出端口号(本例中为54321)。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/90238
推荐阅读
相关标签
  

闽ICP备14008679号