Python在html标签中截取并显示图像

时间:2014-04-15 17:58:08

标签: python html selenium phantomjs

我正在尝试显示截图.png,在浏览器中使用我的python脚本。但我不知道为什么,但我看不到图像!

脚本位于/var/www/cgi-bin/web.py

from selenium import webdriver

self.driver = webdriver.Phantomjs()

self.driver.get("http://www.google.com")


try:
    # print "Take a picture"
    picture = (''.join(random.choice(string.letters + string.digits) for n in xrange(10)))
    self.driver.save_screenshot((picture) + '.png')
    print "Content-type:text/html\r\n\r\n"
    print "<html>"
    print "<head>"
    print "<title>%s</title>" % self.driver.title
    print "</head>"
    print "<body>"
    print "<h2>ScreenShot: %s.png</h2>" % (picture)
    print "<img src='%s.png'>" % (picture)
    print "</body>"
    print "</html>"
except IOError:
    print "Error take a picture!"
    pass

但是我无法在浏览器上显示错误消息的图像:

(13)Permission denied: exec of '/var/www/cgi-bin/fBgshhFbuJ.png'

我的剧本出了什么问题?


让我再解释一下我的尝试。 我在/ var / www / cgi-bin文件夹中输入了两个字符串到我的python脚本,然后截取屏幕截图。我希望在容器或div html中显示png文件,但在另一个html文件中专门显示。

有可能吗?

我更改了文件夹/ var和其他子文件夹的权限,但我收到了相同的错误消息。

由于

1 个答案:

答案 0 :(得分:0)

您无权在文件夹/var/www/cgi-bin/中写入,可能更具体地说是/var/文件夹。如果您将脚本位置更改为可以写入权限的位置或图片的下载位置,那么您的程序应该可以正常工作。

修改

如果从您的例外删除IOError,您应该能够打印邮件并传递错误