informatica:linux:selenium
                Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| informatica:linux:selenium [2019/10/17 11:04] – jose | informatica:linux:selenium [2022/12/27 09:08] (current) – jose | ||
|---|---|---|---|
| Line 316: | Line 316: | ||
| o.click() | o.click() | ||
| </ | </ | ||
| + | |||
| ====== Padres e hijos ====== | ====== Padres e hijos ====== | ||
| - | l | ||
| - | ======= Padres e hijos ======= | ||
| - | l | ||
| - | ======== Padres e hijos ======== | ||
| - | l | ||
| - | ========= Padres e hijos ========= | ||
| + | Tenemos el siguiente código: | ||
| + | < | ||
| + | <div class=" | ||
| + | <div style=" | ||
| + | <div style=" | ||
| + | < | ||
| + | <div class=" | ||
| + | <div tabindex=" | ||
| + | <div class=" | ||
| + | <input name=" | ||
| + | <label class=" | ||
| + | </ | ||
| + | </ | ||
| + | <div tabindex=" | ||
| + | <div class=" | ||
| + | <input name=" | ||
| + | <label class=" | ||
| + | </ | ||
| + | </ | ||
| + | <div tabindex=" | ||
| + | <div class=" | ||
| + | <input name=" | ||
| + | <label class=" | ||
| + | </ | ||
| + | </ | ||
| + | <div tabindex=" | ||
| + | <div class=" | ||
| + | <input name=" | ||
| + | <label class=" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | {{: | ||
| + | |||
| + | Queremos hacer click en el checkbox, que es un campo input (la caja verde), pero es dinámico y no tiene el identificador. El indentificador está dentro del div que tiene el texto en title que es la caja padre en rojo | ||
| + | {{: | ||
| + | |||
| + | Primero seleccionamos el bloque padre, buscando por div y title que queramos: | ||
| + | < | ||
| + | menu_click=' | ||
| + | menu_click=' | ||
| + | menu_click=' | ||
| + | |||
| + | xpath='// | ||
| + | padre = driver.find_element_by_xpath(xpath) | ||
| + | </ | ||
| + | Ahora dentro de esa caja, selecctionamos el input para hacer click | ||
| + | < | ||
| + | xpath2=' | ||
| + | hijo = padre.find_element_by_xpath(xpath2) | ||
| + | hijo.click() | ||
| + | </ | ||
| + | |||
| + | Si a partir de un elemento queremos seleccionar el padre:\\ | ||
| + | Seleccionamos el elemento: | ||
| + | xpath='// | ||
| + | obj = driver.find_element_by_xpath(xpath) | ||
| + | Y a partir de ese elemento el padre: | ||
| + | padre=obj.find_element_by_xpath(" | ||
| + | |||
| + | |||
| + | ====== Grabar el contenido de la web en un archivo ====== | ||
| + | |||
| + | ===== Texto ===== | ||
| + | |||
| + | |||
| + | https:// | ||
| + | |||
| + | En mi caso fue muy útil porque no fui capaz, ni con chrome ni con firefox, de obtener el xpath de un popup que al hacer click en cualquier parte se cerraba. | ||
| + | |||
| + | < | ||
| + | html = driver.execute_script(" | ||
| + | with open(" | ||
| + | f.write(html) | ||
| + | </ | ||
| + | |||
| + | ===== Captura de pantalla ===== | ||
| + | < | ||
| + | fichero = f" | ||
| + | driver.set_window_size(1080, | ||
| + | driver.save_screenshot(" | ||
| + | driver.save_screenshot(" | ||
| + | </ | ||
informatica/linux/selenium.1571310261.txt.gz · Last modified:  by jose
                
                