在Splinter Python中(Windows和Linux)可以隐藏浏览器窗口吗?
我写了一个程序,可以对指定的网页进行截图。用户输入一个网址,然后我的应用程序就会对这个网页进行截图。我想知道有没有办法(以及怎么做)隐藏浏览器窗口?我的意思是,不打开它,但还是能截图?谢谢! :)
我使用的是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
你有几种选择:
使用一个“傻瓜”无头浏览器,比如 mechanize。这个速度很快,适合快速访问和截图。不过,它不支持javascript。
在你的splinter测试中使用 zope.testbrowser 浏览器。这个也是无头浏览器,所以不会在屏幕上显示。它支持javascript,但需要花更多时间来设置和使用。
直接使用 urllib2,并加上一些特殊的头信息。