Получите ссылки href из первой таблицы на странице браузера без заголовка (playwright._impl._errors.Error: цикл событий Python

Программы на Python
Anonymous
 Получите ссылки href из первой таблицы на странице браузера без заголовка (playwright._impl._errors.Error: цикл событий

Сообщение Anonymous »

Я пытаюсь получить ссылки href из первой таблицы страницы без заголовка браузера, но ошибка мне не помогает, поскольку она не говорит мне, что это такое, а просто много символов ^ под ним.
Мне пришлось переключиться на браузер без заголовка, потому что я очищал пустые таблицы, чтобы узнать, как работает HTML сайта, и признаюсь, что не понимаю, как он работает.
Я также хотите завершить ссылки, чтобы они работали для дальнейшего использования, а это последние три строки следующего кода:

Код: Выделить всё

from playwright.sync_api import sync_playwright

# headless browser to scrape
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://fbref.com/en/comps/9/Premier-League-Stats")

#open the file up
with open("path", 'r') as f:
file = f.read()

years = list(range(2024,2022, -1))

all_matches = []

standings_url = "https://fbref.com/en/comps/9/Premier-League-Stats"

for year in years:
standings_table = page.locator("table.stats_table").first

link_locators = standings_table.get_by_role("link").all()
for l in link_locators:
l.get_attribute("href")
print(link_locators)

link_locators = [l for l in links if "/squads/" in l]
team_urls = [f"https://fbref.com{l}" for l in link_locators]
print(team_urls)

browser.close()
Я получаю следующую трассировку стека:

Код: Выделить всё

Traceback (most recent call last):
File "path", line 27, in 
link_locators = standings_table.get_by_role("link").all()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "path\.venv\Lib\site-packages\playwright\sync_api\_generated.py", line 15936, in all
return mapping.from_impl_list(self._sync(self._impl_obj.all()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "path\.venv\Lib\site-packages\playwright\_impl\_sync_base.py", line 102, in _sync
raise Error("Event loop is closed! Is Playwright already stopped?")
playwright._impl._errors.Error: Event loop is closed! Is Playwright already stopped?

Process finished with exit code 1
Мой код состоит всего из 33 строк, поскольку это начало цикла, поэтому я не уверен, к чему относятся две последние ошибки в стеке.
Я просто не могу извлечь ссылки href. Возможно, это связано с .first.
Я реализовал решение по ссылке Get href с помощью Python playwright, но оно не работает.

Подробнее здесь: https://stackoverflow.com/questions/781 ... ght-impl-e

Вернуться в «Python»