Python Selenium - как избежать кражи фокуса функцией switch_to_window()?
У меня есть это. Это программа Python для автоматизации загрузки документов с веб-сайта нашей компании-стажёра. Я использовал Webdriver Chrome.
Для этого программа Python открывает первое окно (0), дает номер документа, а затем откроется второе окно (1), чтобы нажать на «печать». Чтобы быть уверенным, что система будет взаимодействовать с нужными окнами, я использую switch_to_window().
Проблема в том, что каждый раз, когда вызывается функция switch_to_window() , она крадет фокус, и если я (например) набираю электронное письмо в Outlook, он захватывает фокус, и мой набор текста будет входить в номер документа, а затем весь Selenium обязательно остановится, потому что номер документа не может быть найден, так как он ложный.
Вопрос: Есть ли способ поменять окна без кражи Фокуса?
def csv_print():
global browser
global h
numm=0
numm_1=0
while numm<h:
kalknum= browser.find_element_by_id("uc_1")
searchkalk=browser.find_element_by_id("uc_2")
kalknum.send_keys(user_entries[numm].get())
searchkalk.click()
fenetre.after(2000)
window_before = browser.window_handles[0]
open_kalk=browser.find_element_by_id("uc_12")
open_kalk.click()
fenetre.after(5000)
window_after = browser.window_handles[1]
browser.switch_to_window(window_after)
element_to_hover_over=browser.find_element_by_id('uc_14')
hover = ActionChains(browser).move_to_element(element_to_hover_over)
hover.perform()
element_to_hover_over2=browser.find_element_by_id('uc_15')
hover2 = ActionChains(browser).move_to_element(element_to_hover_over2)
hover2.perform()
csv_dwd=browser.find_element_by_id("uc_16")
csv_dwd.click()
fenetre.after(5000)
element_to_hover_over3=browser.find_element_by_id('uc_17')
hover3 = ActionChains(browser).move_to_element(element_to_hover_over3)
hover3.perform()
kalk_close=browser.find_element_by_id("uc_18")
kalk_close.click()
fenetre.after(5000)
browser.close()
browser.switch_to_window(window_before)
kalknum2= browser.find_element_by_id("uc_1")
kalknum2.clear()
fenetre.after(1)
numm+=1
numm_1+=1
Спасибо !