es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El usuario recibirá el diálogo cuando inicie sesión por primera vez en el portal. Y quiero verificar la casilla de términos y condiciones solo la primera vez.

Estoy trabajando en un proyecto y en este proyecto he creado una cuenta desde el portal principal y le he establecido una contraseña. Cuando los usuarios ingresan por primera vez al portal, aparece un cuadro de diálogo para los términos y condiciones, y quiero verificar la casilla de verificación solo una vez.

Este es mi método de inicio de sesión:

@pytest.fixture()
def PracticeLogin(setup):
    driver = setup
    driver.get(loginSheet.cell(3, 2).value)
    driver.implicitly_wait(5)
    login = LoginScreen(driver)
    login.SetUsername(loginSheet.cell(3, 3).value)
    login.SetPassword(loginSheet.cell(3, 4).value)
    login.SignIn()
    if "Términos y políticas" in driver.page_source:
        driver.find_element(By.XPATH, '//div[@class="modal-dialog"]//*[@class="checkbox checkbox-success"]').click()
        driver.find_element(By.XPATH, Locators.continueButton).click()
    driver.implicitly_wait(10)

Estoy obteniendo un error NoSuchElementException.

Esta es la URL del portal: https://ibis-dev.droicelabs.us/login/dispenser

Email: monica.compound@mailinator.com
Contraseña: Test@2020
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que se está produciendo la excepción NoSuchElementException porque la ruta XPath que se utiliza para localizar la casilla de verificación de términos y políticas es incorrecta.

    Puede intentar actualizar esta línea:

    driver.find_element(By.XPATH, '//div[@class="modal-dialog"]//*[@class="checkbox checkbox-success"]')

    a:

    driver.find_element(By.XPATH, '//div[@class="modal-dialog"]//input[@type="checkbox"]')

    Este nuevo XPath debería localizar el elemento de la casilla de verificación de manera más precisa, utilizando la etiqueta input y su atributo type.

    Además, asegúrese de que el diálogo de términos y políticas aparezca realmente como se espera. Puede agregar algunos registros o declaraciones de depuración para verificar que el diálogo sea visible y que el elemento de la casilla de verificación esté presente antes de intentar interactuar con él.

Comments are closed.