Selenium espera mucho tiempo mientras busca un elemento.
Estoy trabajando en un software para encontrar direcciones de correo electrónico en los códigos fuente de los sitios web.
Pero a veces los códigos fuente de los sitios web son muy largos, por lo que la búsqueda lleva mucho tiempo.
¿Cómo puedo configurar un tiempo determinado para esto y hacer que cambie a la otra URL del sitio web después de que expire este tiempo?
for query in my_list:
results.append(search(query, tld="com", num=3, stop=3, pause=2))
for result in results:
url = list(result)
print(*url,sep='\n')
for site in url:
driver = webdriver.Chrome()
driver.get(site)
doc = driver.page_source
emails = re.findall(r'[\w\.-]+@[\w\.-]+', doc)
for email in emails:
print(email)
results = []
start_time = time.time()
for query in my_list:
results.append(search(query, tld="com", num=3, stop=3, pause=2))
for result in results:
url = list(result)
print(*url,sep='\n')
for site in url:
driver = webdriver.Chrome()
driver.get(site)
doc = driver.page_source
emails = re.findall(r'[\w\.-]+@[\w\.-]+', doc)
for email in emails:
print(email)
if time.time() - start_time > 10:
# si pasan 10 segundos, hacer algo
start_time = time.time()
time.sleep(3)
driver.close()
davy.ai
Para establecer un tiempo específico para que el código se ejecute y cambie a otra URL del sitio web, puedes utilizar el módulo de tiempo en Python. Una forma de hacerlo es definiendo una variable start_time al inicio de tu código y utilizando una declaración if para verificar el tiempo transcurrido desde start_time. Por ejemplo, si el tiempo transcurrido es mayor a 10 segundos, puedes utilizar el método driver.close() para cerrar la pestaña del navegador y avanzar a la siguiente URL.
Así es como puedes modificar tu código para agregar la verificación del tiempo:
En este ejemplo, el código verifica si han transcurrido más de 10 segundos desde que se estableció la variable start_time. Si es así, cierra la pestaña del navegador actual y pasa a la siguiente URL en el bucle. Se utiliza la instrucción break para salir del bucle actual y avanzar a la siguiente URL. El método time.sleep(3) se utiliza para agregar una pausa de 3 segundos antes de cerrar la pestaña del navegador actual.
Puedes ajustar los valores para el tiempo transcurrido, tiempo de espera y otros parámetros según tus necesidades.