Как получить разные идентификаторы для разных вкладок веб-драйвера

Я хочу иметь возможность управлять несколькими вкладками веб-драйвера. Я хочу получить идентификатор каждого, когда я его создаю, но я могу найти только идентификатор окна (он должен быть для всего окна, поскольку при смене вкладок он остается прежним):

In [17]: main_window = browser.current_window_handle

In [18]: main_window
Out[18]: u'{7606f3fb-ece7-4c11-b951-d743684b0987}'

# move to the other tab
In [19]: browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL+Keys.TAB)

In [20]: main_window = browser.current_window_handle

# no difference
In [21]: main_window
Out[21]: u'{7606f3fb-ece7-4c11-b951-d743684b0987}'

Как я могу различать мои разные вкладки, когда я получаю несколько запущенных в одном окне? Спасибо

1 ответ

1. Вы должны хранить дескрипторы окна в переменной. Каждая вкладка имеет свой собственный идентификатор дескриптора окна.

tabHandles = driver.window_handles

2. Переключитесь на другие вкладки

driver.switch_to_window(tabHandles[0])  #switch to a tab
driver.switch_to_window(tabHandles[1])  #switch to a tab
Другие вопросы по тегам