Задать вопрос

Selenium python. Как работать с уже открытым браузером?

Работаю в linux, использую браузер firefox.

При запуске кода, всегда открывается новый браузер. Мне нужно чтобы код нашел уже открытый браузер и работал с ним. Погуглив, я узнал что нужно установить значение у переменной executable_path, но это не помогает. Всё равно открывается новый браузер.

Может я неправильно указал путь. Но драйвер лежит именно там.

from selenium import webdriver

driver = webdriver.Firefox(executable_path='/usr/local/bin/geckodriver')
driver.get('http://www.google.com')

elem = driver.find_element_by_name('q')
elem.send_keys('Hello WebDriver!')
elem.submit()
  • Вопрос задан
  • 6172 просмотра
Подписаться 5 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
dimonchik2013
@dimonchik2013
non progredi est regredi
прощу прощения, а что Вы погуглили?

ткой фичи в Селениуме до сих пор нет, но варианты найти можно
раз
два
+ чуточку допилить
Ответ написан
Комментировать
@taktik
Sr. QA automation | SDET
Официально selenium не поддерживает подключение к запущенному экземпляру браузера, хотя это можно сделать через костыли.
Скорее всего вашу задачу можно решить стандартными возможностями. Опишите что хотите сделать, может подскажут другой способ решения.
Ответ написан
Viji
@Viji
DevOps Engineer
Такая опция уже появилась

1. Добавляем путь к ехе или бинарнику хрома в операционку
2. Запускае хром с опцией debug в командной строке
сhrome --remote-debugging-port=9222 --user-data-dir="~/ChromeProfile"

3. В скрипте питона вместо новой сессии используем
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options)
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы