Splash Lua 脚本附近预计会出现错误
Error expected near on Splash Lua Script
我需要 运行 这个简单的 Lua Splash 脚本:
script = """
function main(splash)
local url = splash.args.url
assert(splash:go(url))
assert(splash:wait(1))
-- go back 1 month in time and wait a little (1 second)
assert(splash:runjs("$('a[data-ci-test-id=\"checkOutButton\"]').click()"))
assert(splash:wait(1))
-- return result as a JSON object
return {
html = splash:html(),
-- we don't need screenshot or network activity
--png = splash:png(),
--har = splash:har(),
}
end
"""
但是我得到了这个错误:
{u'info': {u'source': u'[string "..."]', u'message': u'[string "..."]:8: \')\' expected near \'checkOutButton\'', u'line_number': 8, u'type': u'LUA_INIT_ERROR', u'error': u"')' expected near 'checkOutButton'"}, u'type': u'ScriptError', u'description': u'Error happened while executing Lua script', u'error': 400}
我应该如何编写 CSS 选择器字符串才能使此脚本正常工作?
我根据另一个答案找到了答案,尽管错误字符串不一样。
事实证明,我抓取的页面没有JQuery,所以我必须先加载JQuery包。
script = """
function main(splash)
# add this vvv
assert(splash:autoload("https://code.jquery.com/jquery-3.1.1.min.js"))
local url = splash.args.url
assert(splash:go(url))
assert(splash:wait(1))
-- go back 1 month in time and wait a little (1 second)
assert(splash:runjs("$('div.minicart_summery > a.btn_checkout').click()"))
assert(splash:wait(1))
-- return result as a JSON object
return {
html = splash:html(),
-- we don't need screenshot or network activity
--png = splash:png(),
--har = splash:har(),
}
end
"""
我需要 运行 这个简单的 Lua Splash 脚本:
script = """
function main(splash)
local url = splash.args.url
assert(splash:go(url))
assert(splash:wait(1))
-- go back 1 month in time and wait a little (1 second)
assert(splash:runjs("$('a[data-ci-test-id=\"checkOutButton\"]').click()"))
assert(splash:wait(1))
-- return result as a JSON object
return {
html = splash:html(),
-- we don't need screenshot or network activity
--png = splash:png(),
--har = splash:har(),
}
end
"""
但是我得到了这个错误:
{u'info': {u'source': u'[string "..."]', u'message': u'[string "..."]:8: \')\' expected near \'checkOutButton\'', u'line_number': 8, u'type': u'LUA_INIT_ERROR', u'error': u"')' expected near 'checkOutButton'"}, u'type': u'ScriptError', u'description': u'Error happened while executing Lua script', u'error': 400}
我应该如何编写 CSS 选择器字符串才能使此脚本正常工作?
我根据另一个答案找到了答案,尽管错误字符串不一样。
事实证明,我抓取的页面没有JQuery,所以我必须先加载JQuery包。
script = """
function main(splash)
# add this vvv
assert(splash:autoload("https://code.jquery.com/jquery-3.1.1.min.js"))
local url = splash.args.url
assert(splash:go(url))
assert(splash:wait(1))
-- go back 1 month in time and wait a little (1 second)
assert(splash:runjs("$('div.minicart_summery > a.btn_checkout').click()"))
assert(splash:wait(1))
-- return result as a JSON object
return {
html = splash:html(),
-- we don't need screenshot or network activity
--png = splash:png(),
--har = splash:har(),
}
end
"""