informatica:linux:selenium
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
informatica:linux:selenium [2019/10/17 11:05] – jose | informatica:linux:selenium [2020/05/08 09:17] – [Padres e hijos] javi | ||
---|---|---|---|
Line 318: | Line 318: | ||
- | ========= Padres e hijos ========= | + | ====== Padres e hijos ====== |
- | hola | + | |
- | ======== | + | |
- | que | + | |
- | ======= | + | |
- | tal | + | |
- | ====== | + | |
- | como | + | |
+ | 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 ====== | ||
+ | |||
+ | 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) | ||
+ | </ |
informatica/linux/selenium.txt · Last modified: 2022/12/27 09:08 by jose