Я пишу приложение, которое удаляет некоторые данные из Интернета, используя MechanicalSoup .Я уже рассмотрел процесс login
и т. Д. Страница, на которой я заканчиваю, содержит таблицу html
.Проблема в том, что данные неполные.Там есть кнопка Show more
, которая позволяет пользователю отображать полные данные.Вот как это выглядит (под Inspect
):
<a class="text-white btn btn-success" href="#" id="expand" style="margin-bottom:30px;">Show more</a>
Я знаю, что он вызывает функцию jQuery
.Проблема в том, что, конечно, MechanicalSoup
не может щелкнуть по нему, он может только перейти по своей ссылке.
Используя этот код, я могу найти эту ссылку:
l = browser.find_link(id='expand')
print(type(l), l)
print(browser.follow_link(l))
print(browser.get_url())
Я могу определить, чтоэто bs4.Element.Tag
но когда я хочу следовать за ним (ответ 200
, так что я думаю, что это хорошо) - это не следует за ним.В основном это добавило бы #
к URL-адресу страницы, и после прочтения текста страницы я заметил бы разницу (или я даже попытался launch_browser()
- она также отображает неполную таблицу):
<class 'bs4.element.Tag'> <a class="text-white btn btn-success" href="#" id="expand" style="margin-bottom:30px;">Show more</a>
<Response [200]>
<page_url_without_#_at_the_end>
Есть личто я делаю не так?Или невозможно перейти по такой ссылке с этой библиотекой?