У меня есть следующий код, когда мне нужно нажать на элемент, который открывается в новой вкладке, и мне нужно переключить браузер на эту вкладку.
def ThingsinTab(browser):
clickbutton=Somefunction #Find where to click
clickbutton.click()
try:
WebDriverWait(browser,10).until(
EC.number_of_windows_to_be(len(old_tabs)+1))
except: return browser
THIS POINT!!
new_window=(set(browser.window_handles)-old_tabs).pop()
browser.switch_to.window(new_window)
#Do some stuff with this tab
browser.close()
browser.switch_to_window(main_tab)
return browser
Иногда вкладка открывается, но остается с серым фоном, долго не загруженным. Я сузил, где код застрял в этой точке, и я сигнализировал об этом в коде выше.
То, что я хочу, - это способ определения времени новой переменной new_window
и переключения, чтобы, если, скажем, через 10 секунд он не перемещался в коде, он останавливался, закрывал новую вкладку и возвращал браузер.
При условии, что эта функция является частью большего кода, я также хотел бы знать, как рассчитать время в более крупном скрипте этой функции, поэтому, если она занимает более нескольких секунд, она прерывает выполнение и возобновление функции остальной код.
Big script
some things
ThingsinTab() #I want to set a maximum time for this function to complete its code,or else stop it and move on.
More some things