Estoy trabajando en un script de selenio para visitar una lista de sitios web que instalan trabajadores de servicios. Lo que quiero hacer es que, si Selenium visita un sitio web, debe esperar a que se instale Service Worker antes de pasar al siguiente sitio web o salir del controlador de Selenium. Actualmente, mi código se parece a lo siguiente.
for url in tqdm(list_urls): driver = get_driver() # gets driver from helper function. print(f'Doing {url} {list_urls.index(url)+1}/{len(list_urls)}') try: driver.get(url) sleep(10) # probably not the best way to do it. except: # if there is a selenium timeout exception. print(f'{url} did not work ... will try again.') repeat_list.append(url) driver.quit() Tengo un sleep(10) que no creo que sea la mejor manera de hacerlo. Existe la posibilidad de que Service Worker se instale en 1 segundo (permanece inactivo durante 9 segundos sin hacer nada) o Service Worker no se instaló en 10 segundos. Voy a hacer esto para una lista de sitios web a escala de miles. Entiendo que hay declaraciones de espera implícitas, explícitas y fluidas en selenio, pero no he encontrado nada que sea útil para mí.