La libreria selenium tiene controles que permiten manipular una pagina web como si una persona la estuviera ex
#Descarga facturas desde el sistema from selenium import webdriver from selenium.webdriver.support.ui import Select #Para crear el explorador, de Firefox en este caso browser = webdriver.Firefox() #navega a la pagina browser.get('http://www.cualquierpagina.com') #ubica los campos de usuario y contrasena por su ID user = browser.find_element_by_id('uid') pswd = browser.find_element_by_id('password')
#escribe los valores con el metodo 'send_keys'
user.send_keys("r00715649")
pswd.send_keys('Huawei?2')
#asi se ejectutan los scripts, como los de los botones 'ingresar' browser.execute_script('javascript:form_submit();') #a veces un script abre una ventana pop up
#la propiedad 'window_handles' enlista las ventanas abiertas
#cambia el focus a la segunda ventana abierta en la lista (la del pop up) browser.switch_to.window(browser.window_handles[1]) #ubico cualquier elemento en la ventana del pop up role = browser.find_element_by_id('user_role/user_role_xid') #puedo borrar el contenido de un campo
#puedo pasar otro valor, ejecutar una funcion y cerrar el pop up. role.clear() role.send_keys('REGIONAL_VIEW_ALL') browser.execute_script("javascript:submitUserRole('set');") browser.close() #vuelvo a la ventana inicial browser.switch_to.window(browser.window_handles[0]) browser.refresh() #puedo seleccionar elementos de una lista
#primero creo un objeto 'Select' con el elemento de lista por su nombre o ID
lista = Select(browser.find_element_by_name('P_ARRIVE_AT_PORT_DATE_operator'))
#luego paso el metodo 'select_by_value' y listo
lista.select_by_value('gt')
browser.execute_script("javascript:if(nextdate()){disableButtonByName('submit_report',Generating); document.management_main.submit();}")
No hay comentarios:
Publicar un comentario