Предупреждение драматурга, вызывающее зависание кода

Я пишу сценарий, для которого требуется автоматический браузер для навигации по некоторым страницам. Я изначально использовал selenium, но я решил попробовать перейти на. Я побежал $ pip install playwright и $ playwright install установить playwright и установить двоичные файлы браузера, и кажется, что все было установлено правильно.

Однако, когда я запускаю тесты из командной строки, которые я написал для SplitsLeaderboards(см. ниже) Командная строка зависает. Я получаю предупреждающее сообщение (также ниже), которое останавливает код, но не завершает код (я также не могу нажать Ctrl-C, чтобы остановить его). То же самое касается импорта модуля и вызова класса из другого скрипта Python - я вызываю module.SplitsLeaderboards(), то интерпретатор Python зависает. Я проверил, что каждая строка в __init__()работает правильно, и это так. Я запускал каждую строку индивидуально и не получал ошибок.

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

Код

      import bs4
from playwright.sync_api import sync_playwright

class SplitsLeaderboards:

    address = "https://fangraphs.com/leaders/splits-leaderboards"
    play = sync_playwright().start()

    def __init__(self):
        self.browser = self.play.chromium.launch()
        self.page = self.browser.new_page()
        self.page.goto(self.address, timeout=0)

        self.soup = bs4.BeautifulSoup(
            self.page.content(), features="lxml"
        )

    def quit(self):
        self.browser.close()
        self.play.stop()

Предупреждение

      (node:23132) UnhandledPromiseRejectionWarning: Error: EPIPE: broken pipe, write
    at Socket._write (internal/net.js:54:25)
    at doWrite (_stream_writable.js:403:12)
    at writeOrBuffer (_stream_writable.js:387:5)
    at Socket.Writable.write (_stream_writable.js:318:11)
    at Transport.send (C:\Users\JLpyt\PythonScripts\FanGraphs-Export\virtualenv\Lib\site-packages\playwright\driver\package\lib\protocol\transport.js:47:25)
    at DispatcherConnection.dispatcherConnection.onmessage (C:\Users\JLpyt\PythonScripts\FanGraphs-Export\virtualenv\Lib\site-packages\playwright\driver\package\lib\cli\driver.js:63:59)
    at DispatcherConnection.sendMessageToClient (C:\Users\JLpyt\PythonScripts\FanGraphs-Export\virtualenv\Lib\site-packages\playwright\driver\package\lib\dispatchers\dispatcher.js:136:14)
    at FrameDispatcher._dispatchEvent (C:\Users\JLpyt\PythonScripts\FanGraphs-Export\virtualenv\Lib\site-packages\playwright\driver\package\lib\dispatchers\dispatcher.js:72:26)
    at Frame.<anonymous> (C:\Users\JLpyt\PythonScripts\FanGraphs-Export\virtualenv\Lib\site-packages\playwright\driver\package\lib\dispatchers\frameDispatcher.js:37:18)
    at Frame.emit (events.js:314:20)
(node:23132) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a p
romise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.
html#cli_unhandled_rejections_mode). (rejection id: 20)

0 ответов

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