Я хотел бы загрузить больше данных на страницу, которую я посещаю, нажав кнопку «Показать больше», которая находится внизу страницы.
Механизм показывает мне эту кнопку в виде ссылки (см. Ниже).
Из проведенного мною исследования я смогу нажать эту кнопку с кодом, указанным ниже. Тем не менее, когда я просматриваю список div, который, я надеюсь, будет длиннее, я вижу, что число будет таким же, как и раньше, что для меня означает, что что-то работает не так, как ожидалось.
В другом потоке я видел, что иногда кнопки можно «замаскировать» как часть форм. Я посмотрел на страницу, и она имеет три формы. Однако я не верю, что любая из этих форм связана с этой кнопкой, потому что кнопка не имеет никаких полей, связанных с ней.
Когда я вызываю метод click ниже, это выглядит так, как будто щелчок был успешным (я вижу некоторую перезагрузку в терминале), но .children.count не меняется.
#assume I already did mechanize.get(url) and I'm on the site.
#I also did a mechanize.page.links.find to get the show more button
mechanize = Mechanize.new
showMore = #<Mechanize::Page::Link "Show More" "#">
pageWithMore = mechanize.click(showMore)
# check children of div to see if count is longer
mechanize.page.css('div.results-container').children.count
# repeatedly returns 51 after 'click' invoke
Я ожидаю, что .children.count будет ближе к 100 после вызова метода click, а затем ~ 150 после повторного вызова.