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
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 atributotype
.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.