1

我编写了一个程序来截取所选网页的屏幕截图。用户键入一个 url,然后我的应用程序对键入的页面进行屏幕截图。我想知道是否可以(以及如何)隐藏浏览器窗口?我的意思是,不打开它,但要截屏?提前致谢 :)

我为此使用 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 Client Library - Automating in Background但是 Windows 怎么样?

4

1 回答 1

2

你有几个选择:

  1. 使用“愚蠢”的无头浏览器,例如mechanize。这很快,非常适合快速访问和截图。但是,它不理解javascript。

  2. 在你的分裂测试中使用zope.testbrowser浏览器。它是一个无头浏览器,因此不会出现在屏幕上。它理解 javascript,但需要更多的投资才能起床。

  3. 只需使用带有一些特殊标头的urllib2 即可。

于 2013-05-20T14:35:09.817 回答