Lee un valor oculto en un div usando el enlace de Selenium Python

Problema: ¿Cómo puede leer un valor en un

nested?

Situación: Estoy probando el registro en nuestro sitio web. Para completar el proceso, el usuario deberá ingresar el captcha. Usando una clase auxiliar (en nuestro servidor de desarrollo) podemos mostrar (oculto) el captcha actual. Necesito agarrar eso y guardarlo para que lo use una función .send_keys (esa parte es la parte fácil). No tengo ningún código para compartir con lo que estoy usando, ya que ni siquiera estoy seguro de dónde saltar.

Bueno, tengo esto, pero obviamente esta no es la respuesta:

 driver.find_element_by_id("capchta").send_keys("foobar") 

Con lo anterior, puedo enviar un valor clave (visto como “foobar”). Solo necesito reemplazar “foobar” con una cadena que leí en el value=XXX

Aquí está el código HTML con el captcha, representado con el value=XXXX .

 

Please enter the security code below

No creo que necesites ejecutar JS para obtener el valor de la entrada oculta.

Puedes usar get_attribute para el atributo de valor

get_attribute (nombre)

Así que en tu caso, prueba:

 captcha_value = driver.find_element_by_id("current_captcha").get_attribute("value") driver.find_element_by_id("capchta").send_keys(captcha_value) 

Como se explica aquí, el selenium no puede interactuar con elementos ocultos. Necesitará ejecutar javascript para cambiar el valor para usted; que sigue siendo una forma perfectamente válida y aceptada de usar Selenium.