Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

558
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda