0

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

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.Вы должны хранить window_handles в переменной. Каждая вкладка имеет свой собственный идентификатор дескриптора окна.

tabHandles = driver.window_handles 

2.Switch других вкладки

driver.switch_to_window(tabHandles[0]) #switch to a tab 
driver.switch_to_window(tabHandles[1]) #switch to a tab 
+0

, если это работает, я так люблю тебя – codyc4321

+0

я должен был уточнить, хотя, я хочу, чтобы получить вкладку идентификатор новой вкладки, как Я открываю его. Это может быть очень сложно отследить, если я открою и закрою вкладки, как в случае, если у меня есть 5 вкладок, а пятый - в tabHandles [4]. но если я закрою вкладку, теперь пятый - в tabHandles [3]. Мне нужен надежный долговременный способ отслеживать вкладки, когда я работаю – codyc4321