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.

¿Cómo puedo detectar si una palabra está presente en una página de Chrome utilizando selenium (Python)?

Este es mi código:

from selenium import webdriver
from selenium.webdriver.support.ui import Select
import random
import time
from selenium.common.exceptions import NoSuchElementException

driver = webdriver.Chrome()
driver.get("https://www.ti.com/store/ti/en/p/product/?p=CD4040BE&keyMatch=CD4040BE")
time.sleep(1)
aceptar_y_continuar = driver.find_element_by_xpath('//*[@id="consentpromptsubmit"]')
aceptar_y_continuar.click()

region = Select(driver.find_element_by_xpath('//*[@id="llc-cartpage-ship-to-country"]'))
region.select_by_visible_text('Italy')

continuar1 = driver.find_element_by_xpath('//*[@id="llc-cartpage-ship-to-continue"]')
continuar1.click()

En el sitio web está la palabra “Inventario”.
¿Cómo puedo detectar si la palabra “Inventario” está presente en la página? Si está presente, imprimir x y si no lo está, refrescar la página hasta que lo esté.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para detectar si la palabra Inventory está presente en la página, podemos usar un bucle while combinado con un bloque try-except. El código se vería algo así:

    while True:
        try:
            # ubicar el elemento que contiene la palabra "Inventory"
            inventory_element = driver.find_element_by_xpath("//*[contains(text(), 'Inventory')]")
    
            # si se encuentra el elemento, imprimir 'x' y salir del bucle
            print('x')
            break
    
        except NoSuchElementException:
            # si no se encuentra el elemento, actualizar la página y esperar a que cargue
            driver.refresh()
            time.sleep(1)
    

    Este código mantendrá actualizando la página hasta que encuentre un elemento que contenga la palabra Inventory. Una vez que encuentre el elemento, imprimirá ‘x’ y saldrá del bucle. Si no se encuentra el elemento, seguirá actualizando la página hasta que aparezca.

    Cabe destacar que el bloque try-except es necesario porque si no se encuentra el elemento, el método find_element_by_xpath generará una excepción NoSuchElementException. Al capturar esta excepción y actualizar la página, podemos continuar el bucle hasta que se encuentre el elemento.

Comments are closed.