Reto Selectores CSS

Código
Avanzado
Selenium
Curso de Selenium
20 min
200 XP
Actualizado: 25/09/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Ejercicio de programación: Reto Selectores CSS

Este ejercicio de programación está diseñado para poner a prueba tus conocimientos en Selenium. Es un ejercicio avanzado que pondrá a prueba tus conocimientos expertos.

Tipo: Ejercicio de código 20 minutos estimados 200 puntos de experiencia

Información adicional del ejercicio

Aprende a utilizar selectores CSS en Selenium para localizar elementos de forma efectiva.

Contenido del ejercicio

Objetivo

Dominar los selectores CSS básicos y avanzados para localizar elementos web de manera eficiente usando la sintaxis CSS nativa.

Escenario

Automatiza la localización de elementos en una página de productos que contiene el siguiente HTML:

<!DOCTYPE html>
<html>
<head>
    <title>Tienda Online - CSS Challenge</title>
</head>
<body>
    <header>
        <nav class="main-nav">
            <a href="/inicio" class="nav-link">Inicio</a>
            <a href="/productos" class="nav-link active">Productos</a>
        </nav>
    </header>
    
    <main>
        <div id="product-container">
            <h1>Nuestros Productos</h1>
            
            <div class="product-grid">
                <div class="product-card" data-category="electronics">
                    <h3>Laptop Gaming</h3>
                    <span class="price">$1299</span>
                    <button type="button" class="btn-primary" disabled>Agotado</button>
                </div>
                
                <div class="product-card featured" data-category="electronics">
                    <h3>Smartphone Pro</h3>
                    <span class="price">$899</span>
                    <button type="button" class="btn-primary">Comprar</button>
                </div>
                
                <div class="product-card" data-category="books">
                    <h3>Guía de CSS</h3>
                    <span class="price">$29</span>
                    <button type="button" class="btn-secondary">Comprar</button>
                </div>
            </div>
        </div>
        
        <footer>
            <input type="email" placeholder="Newsletter" required>
            <button type="submit">Suscribirse</button>
        </footer>
    </main>
</body>
</html>

Tareas a realizar

Localiza estos elementos usando selectores CSS:

  1. Contenedor principal - Usa selector por ID
  2. Enlace activo de navegación - Usa múltiples clases CSS
  3. Segundo producto - Usa pseudo-clase :nth-child()
  4. Botón habilitado - Usa pseudo-clase :not() para excluir deshabilitados
  5. Productos de electrónicos - Usa selector de atributo con valor exacto
  6. Campo de email - Usa selector de atributo por tipo

Requisitos técnicos

  • Carga el HTML usando: driver.get("data:text/html;charset=utf-8," + java.net.URLEncoder.encode(htmlContent, "UTF-8"));
  • Todos los selectores deben usar By.cssSelector()
  • Incluye 3 aserciones que verifiquen elementos localizados
  • Bonus: Usa un combinador (espacio, >, +, ~) en al menos un selector

Criterios de evaluación

  • ✅ Selector por ID (#id)
  • ✅ Selector por múltiples clases (.clase1.clase2)
  • ✅ Pseudo-clase estructural (:nth-child())
  • ✅ Pseudo-clase de negación (:not())
  • ✅ Selector de atributo ([atributo='valor'])
  • ✅ Al menos un combinador CSS

¡Recuerda cerrar el driver con **driver.quit()** al final!

Lección relacionada

Este ejercicio está relacionado con la lección "Selectores CSS" de Selenium. Te recomendamos revisar la lección antes de comenzar.

Ver lección relacionada

Más ejercicios de Selenium

Explora más ejercicios de programación en Selenium para mejorar tus habilidades y obtener tu certificación.

Ver más ejercicios de Selenium

Solución al ejercicio de programación en Selenium

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en Selenium para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en Selenium

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en Selenium

⭐⭐⭐⭐⭐
4.9/5 valoración