在Splash内部,如何使用src属性附加到网址

问题描述

------------ 原始问题 ------------------

在我的启动脚本中,我试图在基于“ img”标签的“ src”属性的新URL上使用“ splash:go”。如何访问此“ src”相对URL并将其加入到start_url?

例如,假设img元素具有以下内容

“请等待”

在这里,我尝试提取src属性并将其添加到start_url:

https://i2a.uslandrecords.com/ME/Cumberland/D/

我希望所有这些都在Splash脚本内。我需要在Splash内完成此操作,否则会丢失安全性/加密或其他内容-它会呈现“错误数据”而不是新网页。你有什么建议吗?

------------ 更新 ------------------

因此,我设法使用以下代码从src属性获取所需的网址:

var = splash:evaljs("document.getElementById('ImageViewer1_docImage').src;")
splash:go(var)  

但是,问题是这正在生成一条错误消息。我在快照中发现的只是一个带有以下消息的白页:

加载页面失败(框架加载因策略更改而中断)

https://i2a.uslandrecords.com/ME/Cumberland/D/ACSResource.axd?SCTTYPE=ENCRYPTED&SCTKEY=gMYed5OWqcSvEWOJA6wGVmb642s2oZHqkYmT6VTpORTzMY7CgvDU5jsjJG/xp0X3eQ9BiDnbaTdAmISeLkC3hyjxGjcSnXOKgGDa8cI2fniY0ILT+NqvQToMGIB+/X3ZIs7Q+D4ppTSZGYZ2L4M/

Webkit错误#102

知道为什么吗?

解决方法

图像src属性正是您需要访问的URL,还是您需要将其附加到其他URL部分的问题标题所指出的内容?

如果是这种情况,您可以通过“ ..”来实现。

例如。:splash:go(base_url..var)-级联

,

问题已解决:

这是解决方案。 GET请求被终止,因为在给定Webkit设置的情况下,它不知道如何用html渲染图像。如果在不呈现页面的情况下执行GET请求,则response.body将具有图像。

代码:

local response = splash:http_get(var)
    return {
    body = response.body
    }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...