Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
24th
Июл
Как в Python+Selenium webdriver открыть новую вкладку в уже открытом браузере?
Posted by obzor under Python
Как в python+selenium webdriver открыть новую вкладку в уже открытом браузере Google Chrome? Либо чтобы новая вкладка открывалась с определенным профилем?
Объясню суть. Я авторизовался на одном из сайтов. При запуске python открывает новую вкладку в повторно запущенном браузере, где я соответственно не авторизован. Как можно решить эту проблему?
Версия Python 3.9.1
Версия Google Chrome 109.0.5414.168
Чтобы открыть новую вкладку в уже открытом браузере Chrome с помощью Selenium WebDriver, выполните следующие действия:
Откройте браузер Chrome и авторизуйтесь на нужном сайте.
Запустите свой Python-скрипт.
Получите текущий дескриптор окна браузера с помощью метода driver.current_window_handle.
Откройте новую вкладку с помощью метода
driver.execute_script("window.open('');")
Переключитесь на новую вкладку с помощью метода
driver.switch_to.window(driver.window_handles[-1])
Вот пример кода, который показывает, как это сделать:
import undetected_chromedriver
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
# Откройте браузер Chrome и авторизуйтесь на нужном сайте
driver = undetected_chromedriver.Chrome()
driver.get("https://site.ru/")
# ... код авторизации ...
# Получите текущий дескриптор окна браузера
current_window = driver.current_window_handle
# Откройте новую вкладку
driver.execute_script("window.open('');")
# Переключитесь на новую вкладку
driver.switch_to.window(driver.window_handles[-1])
# Теперь вы можете взаимодействовать с новой вкладкой
# ... код взаимодействия с новой вкладкой ...
# Переключитесь обратно на исходную вкладку
driver.switch_to.window(current_window)
Обратите внимание, что в приведенном выше примере показано, как открыть новую пустую вкладку. Если вы хотите открыть новую вкладку с определенным URL-адресом, используйте следующий код:
driver.execute_script("window.open('https://example.com');")
Также обратите внимание, что для работы с профилями Chrome вам необходимо использовать параметр user-data-dir в Options. Вот пример кода, который показывает, как это сделать:
options = Options()
options.headless = False
options.add_argument("--user-data-dir=/path/to/profile")
driver = undetected_chromedriver.Chrome(options=options)
Замените /path/to/profile на фактический путь к профилю Chrome, который вы хотите использовать.
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)