mirror of
https://github.com/Balshgit/mosgortrans.git
synced 2026-02-03 11:20:56 +03:00
revert selenoid
This commit is contained in:
@@ -4,20 +4,16 @@ from aiogram import Bot, types
|
||||
from aiogram.contrib.middlewares.logging import LoggingMiddleware
|
||||
from aiogram.dispatcher import Dispatcher
|
||||
from aiogram.utils.callback_data import CallbackData
|
||||
from app.core.logger import logger
|
||||
from app.core.parse_web import (
|
||||
configure_firefox_driver,
|
||||
download_gecko_driver,
|
||||
parse_site,
|
||||
)
|
||||
from app.core.parse_web import get_driver, get_driver_session, parse_site
|
||||
from app.settings import API_TOKEN
|
||||
|
||||
bot = Bot(token=API_TOKEN)
|
||||
dispatcher = Dispatcher(bot)
|
||||
dispatcher.middleware.setup(LoggingMiddleware())
|
||||
|
||||
download_gecko_driver()
|
||||
driver = configure_firefox_driver()
|
||||
|
||||
driver = get_driver()
|
||||
session_id = get_driver_session(driver)
|
||||
|
||||
stations_cb = CallbackData('station', 'direction')
|
||||
|
||||
@@ -86,6 +82,7 @@ async def echo(message: types.Message) -> types.Message:
|
||||
|
||||
|
||||
async def morning_bus_mailing(chat_ids: list[int]) -> None:
|
||||
|
||||
text = parse_site(
|
||||
driver=driver,
|
||||
url='https://yandex.ru/maps/213/moscow/stops/stop__9640740/'
|
||||
|
||||
@@ -10,7 +10,7 @@ from selenium import webdriver
|
||||
from selenium.common.exceptions import NoSuchElementException, WebDriverException
|
||||
from selenium.webdriver.firefox import options
|
||||
from selenium.webdriver.firefox.service import Service
|
||||
from selenium.webdriver.firefox.webdriver import WebDriver
|
||||
from selenium.webdriver.firefox.webdriver import RemoteWebDriver, WebDriver
|
||||
|
||||
|
||||
def download_gecko_driver() -> None:
|
||||
@@ -47,7 +47,7 @@ def configure_firefox_driver(private_window: bool = False) -> WebDriver | None:
|
||||
return None
|
||||
|
||||
|
||||
def parse_site(url: str, message: str, driver: WebDriver | None = None) -> str:
|
||||
def parse_site(url: str, message: str, driver: RemoteWebDriver | None = None) -> str:
|
||||
if not driver:
|
||||
logger.error('Driver is not configured')
|
||||
return 'Что-то пошло не так. :( Драйвер Firefox не сконфигурирован.'
|
||||
@@ -87,3 +87,16 @@ def parse_site(url: str, message: str, driver: WebDriver | None = None) -> str:
|
||||
if bus_t19 and bus_t19_arrival:
|
||||
answer += f'Автобус {bus_t19.text} - {bus_t19_arrival.text}'
|
||||
return answer
|
||||
|
||||
|
||||
def get_driver() -> RemoteWebDriver:
|
||||
opt = options.Options()
|
||||
opt.headless = True
|
||||
driver = RemoteWebDriver(
|
||||
command_executor='http://selenoid_host:4444/wd/hub', options=opt
|
||||
)
|
||||
return driver
|
||||
|
||||
|
||||
def get_driver_session(driver: RemoteWebDriver) -> str:
|
||||
return driver.session_id # type: ignore
|
||||
|
||||
Reference in New Issue
Block a user