Sony_py
@Sony_py

Почему не запускаются разные браузеры?

Хочу реализовать управление браузером через АПИ.
Есть следующий код:

from playwright.sync_api import sync_playwright
from flask import Flask, request, send_file


app = Flask(__name__)


@app.route("/bot")
def playbot():
    url = request.args.get("goto")
    opt = request.args.get("headless")
    head = True if opt == "True" else False

    with sync_playwright() as p:
        browser = p.firefox.launch(
            headless=head,
       )
        context = browser.new_context(
            permissions=["notifications"],
        )
        page = context.new_page()
        page.goto(url)
        sleep(7)
        page.screenshot(path="bot.png")
        return send_file("bot.png", mimetype="image/gif")


if __name__ == "__main__":
    app.run(debug=True)


Если я передаю разные url (пример: 127.0.0.1:5000/bot?goto=https://duckgo.com, 127.0.0.1:5000/bot?goto=https://google.com), открываются разные инстанцы браузера.
65b10d9d5ec68912125992.png
Но когда я передаю АПИ одинаковый url(пример: 127.0.0.1:5000/bot?goto=https://duckgo.com, 127.0.0.1:5000/bot?goto=https://duckgo.com), браузер открывает поочередно этот адрес, а не в разных браузерах, не знаю как исправить этот момент.
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ответы на вопрос 1
@vitafon007
вы в коде создаете каждый раз новый инстанс. Либо закрывайте после создания скрина, либо создайте инстанс при инициализации пайтон проекта и используйте его.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
29 нояб. 2024, в 07:44
20000 руб./за проект
29 нояб. 2024, в 04:45
5000 руб./за проект
29 нояб. 2024, в 04:42
5000 руб./за проект