Scrapy Splash: нажатие кнопки не открывает следующую страницу

#python-3.x #web-scraping #scrapy #scrapy-splash

#python-3.x #очистка веб-страниц #scrapy #scrapy-splash

Вопрос:

У меня возникли проблемы с выполнением кнопки Click с помощью Scrapy-Splash. Веб-сайт, который я пытаюсь очистить, это: https://search.siemens.com/en/?q=iotamp;lr=lang_enamp;as_oq=amp;as_sitesearch=amp;site=siemens_c_wwamp;client=siemens_f_wwamp;getfields=*amp;proxystylesheet=p_iaamp;queryString=lang=en&site=siemens_c_ww&q=iot&lr=lang_en&collapse=true&class=search,banner,text&_charset=UTF-8amp;start=10amp;hl=enamp;access=pamp;filter=1amp;output=xml_no_dtdamp;sort=date%3AD%3AL%3Ad1amp;oe=UTF-8amp;ie=UTF-8amp;exclude_apps=1amp;ud=1amp;sheet=0

Я использую следующий скрипт:

 function main(splash, args)
  assert(splash:go(args.url))
  assert(splash:wait(0.5))
  assert(splash:runjs('document.querySelector(".next a[href]").click()'))
  splash:set_viewport_full()
  return {
    html = splash:html(),
    png = splash:png(),
    har = splash:har(),
  }
end
 

При выполнении я возвращаю первую страницу, а не следующую. Кнопка нажатия работает вручную. Я попытался использовать mouse_click() с тем же результатом. Спасибо за дополнительные идеи для решения этой проблемы 🙂

Ответ №1:

Я думаю, вам нужно подождать некоторое время задержки после нажатия кнопки. Splash требуется время для повторного отображения динамической страницы