Cambiar a una nueva ventana usando Selenium después de hacer clic en el botón

Estoy trabajando en un proyecto de página web bastante simple y me atasqué un poco. Estoy usando un sitio web que, después de completar el formulario y hacer clic en el botón, me da los datos deseados para abrir el documento XML en una nueva ventana. Sin embargo, no tengo ni idea de cómo acceder a él, ya que no tengo el nombre de la ventana.

browser = Browser('firefox') browser.visit('http://desiredurl/') form = browser.find_by_id('input') button = browser.find_by_id('send') form.fill(string) button.click() 

Al hacer clic en un botón se activa una solicitud ajax (doAjaxRequest (“POST”, url, xml);) y se abre una nueva ventana con el documento XML. ¿Cuál es la mejor manera de acceder a los datos desde XML abierto?

La solución para su pregunta será inducir Explicitwait con expected_conditions como number_of_windows_to_be y luego cambiar a la nueva ventana de la siguiente manera:

 parent = driver.current_window_handle button = browser.find_by_id('send') form.fill(string) button.click() WebDriverWait(driver, 10).until( EC.number_of_windows_to_be(2) ) child = driver.window_handles[1] driver.switch_to_window(child) print ("Child Window ID is : %s" %child) print("Child Window Title is : %s " %(driver.title))