Невозможно очистить ссылки с динамического веб-сайта с помощью Selenium

Я пытаюсь собрать ссылки на личные профили и контакты со следующего сайта: https://www.dlapiper.com/en-us/people#t=All&sort=relevancy&numberOfResults=100&f:CountriesID=[United%20Kingdom]

Я использую Selenium для очистки через chromedriver, и обычно он работает нормально, однако для этого конкретного веб-сайта я не могу получить доступ к исходному HTML-коду, где будут видны все ссылки на профили людей.

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

links = []
driver = webdriver.Chrome()
driver.get('https://www.dlapiper.com/en-gb/people#t=All&sort=%40lastname%20ascending&f:CountriesID=[United%20Kingdom]')
time.sleep(5)
cookies_button = driver.find_element(By.ID, "onetrust-reject-all-handler")
cookies_button.click()
time.sleep(5)
html = driver.page_source
time.sleep(5)
soup = BeautifulSoup(html, 'html.parser')
parse = soup.find_all('a')
for item in parse:
    links.append(item.get('href'))
print(links)

Однако ссылки из блока поиска людей не могут попасть в driver.page_source, хотя я могу найти все элементы ссылок, когда нажимаю «проверить» в Chrome. Я пробовал увеличить time.sleep(), не помогло.

Я понимаю, что на этой странице выполняется множество javascript. Может быть, мне нужно активировать некоторые из них вручную? Буду очень признателен за помощь, так как я не знаю Javascript.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
51
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Контактные данные адвоката находятся в iframe...

1   Frame ID    myIframe
2   Frame Name  Unused
3   Frame Title People Index Hosted Search Page
4   Frame Source    https://www.dlapiper.com/en-US/coveosearchpages/people%20index%20hosted%20search%20page#t=All&sort=relevancy&f:CountriesID=[United%20States]
5   Frame Domain    www.dlapiper.com
6   Type    text/html
7   Mode    CSS1Compat
8   Language    en
9   Encoding    UTF-8
10  Modified    06/03/2024 19:25:06
11  Load Time   2.52 seconds
12  Source Size 361 bytes
13  Position    0 - 291 pixels
14  Viewport    1903 x 1500 pixels

Сканирует ли ваш скрипт внутри дочерних кадров?

Спасибо, да, цель — перейти к ссылке на личный профиль, которая находится внутри элемента class = "CoveoResultLink". Простого сканирования главной страницы поиска будет недостаточно. Можете ли вы немного подробнее рассказать об отрывке, который вы только что вставили? Для меня это выглядит новым

faintglimmer 04.06.2024 11:03

Можете ли вы немного подробнее рассказать об отрывке, который вы только что вставили? Этот мне кажется новым

Эта таблица взята из классического браузера, который отображает iframe и предлагает множество технической информации, среди прочего… включая пользовательские теги, скрытые скрипты, теневые области, глобальные идентификаторы, функции, объекты и т. д.

Он может парсить практически все что угодно по запросу, но автоматического бота как такового для настройки нет… тем не менее, он очень эффективен для проверки веб-сайтов и принятия правильных решений по настройке вашего бота.

До прошлого года он был доступен для публичной загрузки на моем домашнем сайте, но после 6-7 лет упорной работы я устал поддерживать сайт и отключился от него!

Удачи во всём.

вы можете увидеть ссылку на iframe в этом браузере? в Chrome я вижу <iframe src = "" width = "100%" height = "1500" id = "myIframe">, который представляет собой пустую ссылку на src и совершенно бесполезен, поскольку в руководстве предлагается запросить ссылку src на добраться до содержимого iframe.

faintglimmer 04.06.2024 12:01

Я вижу все iframe на странице, потому что сверху них рисуется тонкая полоса, а затем я просто щелкаю правой кнопкой мыши по этой полосе и получаю таблицу технических подробностей. Просто перейдите по этой ссылке… dlapiper.com/en-us/coveosearchpages/…

passThru 04.06.2024 12:06

Вы тратите свое время на ненужные коммерческие браузеры, такие как FF и Chrome… вам нужен приличный «подпольный» браузер, который предоставляет все, чтобы помочь вам.

passThru 04.06.2024 12:26

Другие вопросы по теме