Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

551
Vistas
Selenium no encuentra elementos existentes que puedan ser encontrados por los elementos aba del navegador y usando js en la consola

Estoy tratando de automatizar el casino bet365, sé que tienen herramientas para bloquear bots.

enlace: https://casino.bet365.com/Play/LiveRoulette

No puedo manejar nada que esté dentro de div class="app-container", al menos por selenio. Pero encuentro estos elementos usando JavaScript en la consola del navegador.

 import undetected_chromedriver as UChrome from webdriver_manager.chrome import ChromeDriverManager UChrome.install(ChromeDriverManager().install()) from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By driver = UChrome.Chrome() driver.get('https://www.bet365.com/#/HO/')

después de iniciar sesión

 driver.get('https://casino.bet365.com/Play/LiveRoulette') locator = (By.XPATH,'//*[contains(@class, "second-dozen")]')

Intento, probablemente, los selectores deberían ser un poco diferentes.

 driver.execute_script('return document.getElementsByClassName("roulette-table-cell roulette-table-cell_side-first-dozen roulette-table-cell_group-dozen")[0].getBoundingClientRect()')

Probar

 driver.find_element(locator[0], locator[1])

pero recibo esto: aumentar la clase de excepción (mensaje, pantalla, seguimiento de pila) selenium.common.exceptions.NoSuchElementException: Mensaje: no existe tal elemento: No se puede ubicar el elemento: {"método":"xpath","selector":"(// *[contiene(texto(), "PAR")])[1]"} (Información de la sesión: chrome=96.0.4664.110) Stacktrace: 0 0x55f8fa1bcee3

1 0x55f8f9c8a608

2 0x55f8f9cc0aa1

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Probablemente te estés perdiendo un retraso/espera.
Redirigiendo a la página interior con

 driver.get('https://casino.bet365.com/Play/LiveRoulette')

Lleva algún tiempo hacer que todos los elementos se carguen allí, no puede acceder a los elementos de inmediato.
La forma recomendada de hacerlo es utilizar las esperas explícitas de Condiciones esperadas, algo como esto:

 import undetected_chromedriver as UChrome from webdriver_manager.chrome import ChromeDriverManager UChrome.install(ChromeDriverManager().install()) from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By driver = UChrome.Chrome() wait = WebDriverWait(driver, 20) driver.get('https://www.bet365.com/#/HO/') #perform the login here driver.get('https://casino.bet365.com/Play/LiveRoulette') locator = wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, '//*[contains(@class, "second-dozen")]')))

Veo que básicamente también te falta el método driver.find_element .
Este:

 (By.XPATH,'//*[contains(@class, "second-dozen")]')

no devolverá un elemento web.
También asegúrese de que el elemento no esté dentro del iframe.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda