как исправить этот код в lua для всплеска в проекте scrapy splash? - PullRequest
1 голос
/ 22 апреля 2019

У меня есть [ссылка] (https://www.psychologytoday.com/us/therapists/35801), для которого я хочу отправить контактную форму. Я знаю, что должен использовать сторонние сервисы, потому что есть recaptcha, но я не могу загрузить скрипт Я продолжаю получать ошибку таблицы вместо нажатия кнопки

Я уже сделал цикл for и щелкнул мышью, но он не работает. Селектор, который я использовал, это «div.result-btn-email button», и он работает в Chrome Dev Tools

function main(splash, args)

  local function submit_forms()
    local btns = splash:select_all('div.result-btn-email button')
    if #btns == 0 then
      error('no elements found')
    end
    for _, btn in ipairs(btns) do
      print(btn, 'found button')
      splash:wait(1)
      btn:mouse_click()
      print(btn, ' found buttn')
    end
  end

  assert(splash:go(args.url))
  assert(splash:wait(0.5))
  submit_forms()

  return {
    html = splash:html(),
    png = splash:png(),
    har = splash:har(),
  }
end

я знаю, что это неполный код, но он все еще не работает, я получаю сообщение об ошибке:

{
    "type": "ScriptError",
    "info": {
        "type": "LUA_ERROR",
        "message": "Lua error: [string \"function main(splash, args)\r...\"]:11: JsError({'js_error': \"TypeError: undefined is not an object (evaluating 'rect.left')\", 'type': 'JS_ERROR', 'message': 'JS error: \"TypeError: undefined is not an object (evaluating \\'rect.left\\')\"', 'js_error_message': \"undefined is not an object (evaluating 'rect.left')\", 'js_error_type': 'TypeError'},)",
        "line_number": 11,
        "error": "JsError({'js_error': \"TypeError: undefined is not an object (evaluating 'rect.left')\", 'type': 'JS_ERROR', 'message': 'JS error: \"TypeError: undefined is not an object (evaluating \\'rect.left\\')\"', 'js_error_message': \"undefined is not an object (evaluating 'rect.left')\", 'js_error_type': 'TypeError'},)",
        "source": "[string \"function main(splash, args)\r...\"]"
    },
    "error": 400,
    "description": "Error happened while executing Lua script"
}

Я новичок в Луа и хотел бы получить большую помощь и ресурсы для изучения Луа

...