Python Selenium: Usando css, ¿cómo puedo hacer una declaración if else?
Estoy tratando de hacer un if else que comprueba si existe el CSS.
Si el primer CSS no existe, debería hacer clic en el segundo CSS.
Esto es lo que tengo:
<h1>SENTENCIA IF</h1>
<pre><code> driver.find_element_by_css_selector('.GA_Track_Action_Download-FullHD-1080p > .movieQuality').click()
</code></pre>
<h1>SENTENCIA ELSE</h1>
<pre><code> driver.find_element_by_css_selector('.GA_Track_Action_Download-4K-2160p > .movieQuality').click()
</code></pre>
Lo que intenté:
if is_element_exist(driver, '.GA_Track_Action_Download-FullHD-1080p > .movieQuality'):
driver.find_element_by_css_selector('.GA_Track_Action_Download-FullHD-1080p > .movieQuality').click()
else:
driver.find_element_by_css_selector('.GA_Track_Action_Download-4K-2160p > .movieQuality').click()
No parece estar funcionando.
davy.ai
Hay algunas cosas que podrían estar causando que este código no funcione como se espera. Aquí hay algunos consejos para ayudarte a solucionar el problema:
is_element_exist
: Esta función no está incluida en el fragmento de código que proporcionaste, por lo que es difícil determinar si está funcionando correctamente. Asegúrate de que esta función esté implementada correctamente y esté devolviendo un valor booleano que indique si el elemento existe o no.Elimina el carácter
>
: Este carácter no es necesario en el selector CSS y podría estar causando problemas. Intenta eliminarlo de ambos selectores CSS.Usa la declaración try/except: En lugar de usar una declaración
if/else
, podrías usar una declaracióntry/except
para manejar el caso en el que el primer selector CSS no exista. Aquí tienes un ejemplo:Este código intentará hacer clic en el primer selector CSS y, si falla (es decir, el elemento no existe), pasará al bloque except y hará clic en el segundo selector CSS.
En general, hay muchas cosas que podrían estar causando que este código no funcione correctamente. El uso de los consejos de solución de problemas anteriores debería ayudarte a identificar el problema y lograr que tu código funcione como se espera.