【问题标题】:Use python selenium on headless linux server在无头 linux 服务器上使用 python selenium
【发布时间】:2018-12-01 07:04:26
【问题描述】:

我有一台只能通过 CLI 控制的 Linux 服务器。 它没有安装任何浏览器,主要是因为它不是必需的,因为除非它是 lynx 或衍生产品,否则它会安装 x-server,这是我不想要的。

我知道我可以使用 headless 选项运行 Chrome 和 Firefox,但仍然需要安装它。

有什么方法可以在该服务器上运行 selenium 而无需安装“主”浏览器之一,或者如果我想以编程方式浏览网页,我是否必须切换到另一个库(urllib、请求)?

【问题讨论】:

  • 如果动态页面使用 selenium + browser else beautifulsoup.
  • 我相信 phantomJS 不需要 X,但其他的需要。

标签: python linux selenium selenium-webdriver headless-browser


【解决方案1】:

您可以使用 phantomJS,它是无头硒。

下载phantomJS

wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2

解压

tar xvjf phantomjs-2.1.1-linux-x86_64.tar.bz2

将其移动或复制到二进制可执行目录中

cp phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/bin/

导入 selenium 网络驱动程序

from selenium import webdriver
wd = webdriver.PhantomJS()

连接到网站

wd.get("https://www.website-url.com")

【讨论】:

  • phantomjs 不再维护广告在 selenium 中已弃用
  • 您的示例从不使用它创建的 chrome_options
  • @CoreyGoldberg 我知道它已被弃用,但 OP 想要的解决方案现在可以解决他的问题。无论如何,解决方案是正确的。如果解决方案从长远来看不符合预期,这是否意味着您会否决它?在这种情况下,您应该对所有 python 2 问题的解决方案投反对票。
  • 在提出问题之前很久就被弃用了
  • 我使用过 PhantomJS,但正如@CoreyGoldberg 所说,它早已被弃用并且无人维护。最后,我使用了普通浏览器并安装了 X。无论如何,感谢您的解决方案。
猜你喜欢
  • 1970-01-01
  • 2021-05-26
  • 1970-01-01
  • 2013-04-27
  • 1970-01-01
  • 2012-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多