Я объясняю идею, а затем проблему, которую я получил. Идея заключается в том, чтобы открыть Jupyter Notebook с помощью кода Python, получить токен, а с помощью другого сценария Python перейти Selenium к блокноту Jupyter и получить скриншот имеющихся у меня виджетов Google Maps.
Итак, я открываю ноутбук Jupyter:
import subprocess
proc = subprocess.Popen('jupyter notebook', shell=False, stdout=subprocess.PIPE)
Консоль
[I 18:03:46.460 NotebookApp] The port 8888 is already in use, trying another port.
[I 18:03:46.460 NotebookApp] The port 8889 is already in use, trying another port.
[I 18:03:46.460 NotebookApp] The port 8890 is already in use, trying another port.
[I 18:03:46.538 NotebookApp] JupyterLab extension loaded from C:\ProgramData\Anaconda3\lib\site-packages\jupyterlab
[I 18:03:46.538 NotebookApp] JupyterLab application directory is C:\ProgramData\Anaconda3\share\jupyter\lab
[I 18:03:46.611 NotebookApp] Serving notebooks from local directory: C:\Users\maranda\Desktop\PycharmProjects
[I 18:03:46.611 NotebookApp] The Jupyter Notebook is running at:
[I 18:03:46.611 NotebookApp] http://localhost:8891/?token=6ff95c98d52d38b3a607f605776a83271f7d15c176a610ac
[I 18:03:46.611 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 18:03:46.711 NotebookApp]
To access the notebook, open this file in a browser:
file:///C:/Users/maranda/AppData/Roaming/jupyter/runtime/nbserver-26572-open.html
Or copy and paste one of these URLs:
http://localhost:8891/?token=6ff95c98d52d38b3a607f605776a83271f7d15c176a610ac
[W 18:03:46.720 NotebookApp] 404 GET /api/kernels/76abff7e-7bd6-459e-9ace-9de7684d9b40/channels?session_id=872d7412fb4b464b8ee5d50bc63d94f4 (127.0.0.1): Kernel does not exist: 76abff7e-7bd6-459e-9ace-9de7684d9b40
[W 18:03:46.741 NotebookApp] 404 GET /api/kernels/76abff7e-7bd6-459e-9ace-9de7684d9b40/channels?session_id=872d7412fb4b464b8ee5d50bc63d94f4 (127.0.0.1) 29.42ms referer=None
[W 18:03:54.745 NotebookApp] Replacing stale connection: 76abff7e-7bd6-459e-9ace-9de7684d9b40:872d7412fb4b464b8ee5d50bc63d94f4
Это работает, но я хочу сохранить строку вывода приложения NotebookApp, где находится токен, чтобы сохранить его (например, записать в * .txt), а затем с другим сценарием Python использовать Selenium для подключения к моему ноутбуку Jupyter. а затем получите Selenium Скриншот виджетов Google Maps, которые я получил в своих ноутбуках Jupyter.
Когда я пытаюсь открыть Блокнот Jupyter через Selenium, он запрашивает у меня токен, поэтому мне нужно прочитать его с вывода подпроцесса выше.
Конечной целью является получение скриншотов виджетов Google Maps, так как я хочу получить слой трафика в определенный момент, если я экспортирую виджет через
embed_minimal_html('export.html', views=[fig])
У меня проблема с тем, что мне нужно выполнить экспортированный HTML, и он получает трафик в тот момент, когда он выполняется,
Любая помощь по этому вопросу будет высоко оценена !!
Спасибо заранее!