@like_coding

Как спарсить всплывающий Google Chrome?

Всем добрый день. Есть скрипт на Python, который переходит на эту страницу https://www.flashscore.ru/ и с помощью Selenium жмет на каждый матч и выводит ссылку от этого матча. Time.sleep для того, чтобы js на странице успевал загрузиться.
Проблема в том, что при нажатии на матч, открывается не окно, а именно второй браузер, код этого нового окна не видит, он всё еще на первоначальной странице https://www.flashscore.ru/ и получается что выводится ссылка просто сайта, но не от матча. Как можно брать ссылку с каждого матча? С помощью Selenium или без него? Заранее спасибо.
Код:
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get('https://www.flashscore.ru/')
time.sleep(13)

for channel in driver.find_elements_by_css_selector(".event__match.event__match--scheduled.event__match--oneLine"):
    channel.click()
    time.sleep(13)

    link = driver.current_url
    print(link)

Вывод:
https://www.flashscore.ru/
https://www.flashscore.ru/
https://www.flashscore.ru/
https://www.flashscore.ru/
https://www.flashscore.ru/
...
...
https://www.flashscore.ru/

А должны быть ссылки от каждого матча в том порядке, в каком Selenium нажимает (т.е. по порядку):
https://www.flashscore.ru/match/lUKXoAEo/#match-summary
https://www.flashscore.ru/match/OnDpq8b4/#match-summary
https://www.flashscore.ru/match/llD7mNQ3/#match-summary
...
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ответы на вопрос 1
ScriptKiddo
@ScriptKiddo
В свойстве ID записано ID матча.

5eea0602befab384042244.png

Во всплывающем окне тот же ID
5eea060865ed0765577469.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы