首页 > 解决方案 > PhantomJS 试图截取屏幕截图

问题描述

我正在使用一个名为heimdall的库来截取网页的屏幕截图。在某些情况下,它的一切工作都非常好,而在其他一些情况下则完全没有。我必须从站点地图中截取每个喜欢的屏幕截图,但某些链接由于某种原因无法在这个库中工作,我无法截取屏幕截图。

我已经进行了一些调试,并且我喜欢为了截屏将执行此命令。

phantomjs --ssl-protocol=any mypath/heimdall/take_screenshot.js LINK --width 1280 --height 800 --useragent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36" --dir Data --ext png --name NAME_FROM_LINK

这是棘手的部分,如果我使用终端(我正在运行 Ubuntu 18.04)这个命令:

LINK=https://lajumate.ro/tag_Casa+de+vanzare_imobiliare_in-prahova.html
NAME_FROM_LINK=tag_Casa+de+vanzare_imobiliare_in-prahova

phantomjs --ssl-protocol=any mypath/heimdall/take_screenshot.js LINK --width 1280 --height 800 --useragent "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36" --dir Data --ext png --name NAME_FROM_LINK

我不会得到任何截图,我也会收到这个输出

输出:

将宽度设置为 1280

将高度设置为 800

将 useragent 设置为 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36

将目录设置为数据

将ext设置为png

状态:失败

原因:操作取消

原因网址:https: //lajumate.ro/tag_Casa+de+vanzare_imobiliare_in-prahova.html

TypeError:尝试更改不可配置属性的设置器。

TypeError:尝试更改不可配置属性的设置器。

但是,如果我将运行相同的命令,但例如这个 LINK 和 NAME_FROM_LINK 是:

LINK=https://lajumate.ro/garsoniera-pe-bd-mihai-viteazu-8528569.html
NAME_FROM_LINK=garsoniera-pe-bd-mihai-viteazu-8528569

一切正常,我将收到我的屏幕截图和这个输出

输出:

将宽度设置为 1280

将高度设置为 800

将 useragent 设置为 Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)

铬/41.0.2272.89 Safari/537.36

将目录设置为数据

将ext设置为png

ARG[身高] 800

ARG[宽度] 1280

ARG[目录] 数据

ARG[名称] 幻影

ARG[ext] png

ARG[质量] 100

ARG[useragent] Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36

ARG [croptovisible] 假

ARG[最大执行时间] 30000

ARG[渲染后] 7000

ARG[资源超时] 3000

保存的图像:数据/phantomimg.png

TypeError:尝试更改不可配置属性的设置器。

TypeError:尝试更改不可配置属性的设置器。

你们中的任何人都可以向我解释这里发生了什么,我该如何解决这个问题?

标签: pythonpython-2.7ubuntuphantomjsscreenshot

解决方案


推荐阅读