Как динамически c содержимое страницы (поиск LinkedIn) с помощью Selenium - PullRequest
1 голос
/ 07 мая 2020

Определенные страницы загружают содержимое после того, как пользователь прокручивает определенный порог . Например, панель поиска LinkedIn.com возвращает страницу, на которой только первые 4-6 результатов изначально присутствуют в HTML. На самом деле, когда вы прокручиваете вниз, встроенный javascript загружает дополнительные профили, чтобы показать в общей сложности 10-12 результатов.

Следовательно, если я хочу получить все профили на странице используя Selenium, мне нужно имитировать действие прокрутки пользователя. Я пробовал использовать driver.execute_script("window.scrollTo(0,1000);"), но похоже, что это работает только тогда, когда драйвер работает в активном окне. Если мой драйвер работает в фоновом режиме, Javascript не будет загружать дополнительные профили.

Есть ли способ заставить javascript загружать все элементы? Я пробовал driver.execute_script("window.focus();") безрезультатно. Спасибо!

1 Ответ

0 голосов
/ 19 августа 2020

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

for i in range(5000):
    browse = "window.scrollTo(0," + str(i) + ")"
    browser.execute_script(browse)
    i = i + 400

Надеюсь, он вам поможет!

...