在Splinter Python中(Windows和Linux)可以隐藏浏览器窗口吗?

1 投票
1 回答
2673 浏览
提问于 2025-04-17 19:24

我写了一个程序,可以对指定的网页进行截图。用户输入一个网址,然后我的应用程序就会对这个网页进行截图。我想知道有没有办法(以及怎么做)隐藏浏览器窗口?我的意思是,不打开它,但还是能截图?谢谢! :)

我使用的是Python 2.7和Splinter库。下面是代码:

from splinter import Browser
import socket

url = raw_input('> ')

browser = None    
try:
    browser = Browser('firefox')
    try:
        browser.visit(url)
        if browser.status_code.is_success():
            browser.driver.save_screenshot('picture.png')
    except socket.gaierror, e:
        print "URL not found: %s" % url
finally:
    if browser is not None:
        browser.quit()

对于Ubuntu系统,我找到了这个:Selenium-Python客户端库 - 在后台自动化,那么Windows系统呢?

1 个回答

2

你有几种选择:

  1. 使用一个“傻瓜”无头浏览器,比如 mechanize。这个速度很快,适合快速访问和截图。不过,它不支持javascript。

  2. 在你的splinter测试中使用 zope.testbrowser 浏览器。这个也是无头浏览器,所以不会在屏幕上显示。它支持javascript,但需要花更多时间来设置和使用。

  3. 直接使用 urllib2,并加上一些特殊的头信息。

撰写回答