我有一个页面,我正在练习一些刮痧,并且无法使用Lua脚本从下拉列表中进行选择。我已经尝试了几个小时才弄明白。我需要从elementid right_eye_156 中选择8.4这是我现在所做的,除了选择页面标题之外什么也不做。
function main(splash, args)
assert(splash:go(splash.args.url))
local element = splash:select('.element')
return splash:evaljs("document.title")
end
的下拉列表的html
<select class="form-control eye-option select01 mycol-xs-6 right-eye" id="right_eye_156">
<option value="" selected="selected" class="choose">...</option>
<option value="973" class="right">8.4</option>
<option value="5526" class="right">8.8</option>
</select>
答案 0 :(得分:1)
找到包含文本“ 8.4”的选项的xpath
local element_xpath = "//select[@id='right_eye_156']/option[contains(.,'8.4')]"
使用splash:evaljs
通过xpath查找元素
local element = splash:evaljs("document.evaluate(\"" .. element_xpath .. "\", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue")