User Tools

Site Tools


informatica:linux:selenium

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatica:linux:selenium [2019/10/17 11:28] joseinformatica:linux:selenium [2022/12/27 09:08] (current) jose
Line 319: Line 319:
  
 ====== Padres e hijos ====== ====== Padres e hijos ======
 +
 Tenemos el siguiente código: Tenemos el siguiente código:
 <code> <code>
Line 356: Line 357:
 {{:informatica:linux:padres_hijos.png|}} {{:informatica:linux:padres_hijos.png|}}
  
-Queremos seleccionar input pero dentro del div que tiene lel texto en title.+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
 {{:informatica:linux:padres_hijos2.png|}} {{:informatica:linux:padres_hijos2.png|}}
- 
  
 Primero seleccionamos el bloque padre, buscando por div y title que queramos: Primero seleccionamos el bloque padre, buscando por div y title que queramos:
Line 376: Line 376:
 </code> </code>
  
 +Si a partir de un elemento queremos seleccionar el padre:\\
 +Seleccionamos el elemento:
 +  xpath='//label[text()="AMA DE CASA"]'
 +  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://stackoverflow.com/a/50420667/2695864
 +
 +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.
 +
 +<code>
 +html = driver.execute_script("return document.body.innerHTML;")
 +with open("login.html","w") as f:
 +    f.write(html)
 +</code>
 +
 +===== Captura de pantalla =====
 +
 +<code>
 +fichero = f"{datetime.datetime.now():%Y%m%d_%H%M%S}"
 +driver.set_window_size(1080,1800)
 +driver.save_screenshot("captura.png")
 +driver.save_screenshot("captura_" + fichero + ".png")
 +</code>
  
informatica/linux/selenium.1571311720.txt.gz · Last modified: 2019/10/17 11:28 by jose