【问题标题】:Python selenium how to hide the browser?Python selenium 如何隐藏浏览器?
【发布时间】:2016-08-16 20:15:42
【问题描述】:

我一直在寻找类似的东西,但我仍然无法找到如何做到这一点..

我试过了

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

# now Firefox will run in a virtual display.
# you will not see the browser.
browser = webdriver.Firefox()
browser.get('http://www.google.com')
print browser.title
browser.quit()

display.stop()

但我收到此错误..

Traceback (most recent call last):
  File "C:/Users//PycharmProjects/untitled/PureTest.py", line 4, in <module>
    display = Display(visible=0, size=(800, 600))
  File "C:\Python27\lib\site-packages\pyvirtualdisplay\display.py", line 33, in __init__
    self._obj = self.display_class(
  File "C:\Python27\lib\site-packages\pyvirtualdisplay\display.py", line 51, in display_class
    cls.check_installed()

【问题讨论】:

  • 你安装xvfb了吗?

标签: python python-2.7 python-3.x selenium


【解决方案1】:

这是干什么用的?这是为了运行无头/自动化任务吗?如果您要这样做,我建议您使用PhantomJS。它是一个能够运行可与 Selenium 一起使用的 JavaScript 的无头浏览器。我使用 PhantomJS 通过 selenium 实现网站任务的自动化,无需修补虚拟显示器等。

如果这是您想要达到的目标,我建议您尝试一下 PhantomJS!

【讨论】:

  • 这是一个自动化网络,是的,我可以用这个发送密钥吗?或者,
  • @Nevermind123 你肯定可以!实际上,您几乎可以使用“真实”浏览器执行任何操作,唯一的区别是它不显示可视界面,因此它更适合在服务器端/无头运行自动化 Web 任务。
  • @daveruinseverything 我正在使用PhantomJS。但是当我运行脚本时,会出现一个控制台。如何阻止它?
【解决方案2】:

如果您的意思是“隐藏 Web 浏览器”,您想打印浏览器标题而不使用 selenium 显示浏览器,那么这是不可能的,因为您可以使用 phantom JS 或者您也可以使用 python 中的库,称为Mechanize 它将为您提供浏览器的功能而不显示它并使用 Phantom JS 也是一个好主意,但我个人不喜欢它,因为我发现它存在一些问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    • 2023-04-10
    • 2012-08-15
    • 2020-06-17
    相关资源
    最近更新 更多