
import puppeteer from 'puppeteer';


async function runPuppeteer() {
    const browser = await puppeteer.launch({
        headless: false,
        slowMo: 500,
        defaultViewport: null
        //args: ['--no-sandbox', '--disable-setuid-sandbox']
    });

    const page = await browser.newPage();
  
    try {
      //Configurar un user-agent personalizado
      await page.setUserAgent(
          'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
      );

      // Navegar a Google
      await page.goto('https://consultaprocesos.ramajudicial.gov.co/Procesos/NombreRazonSocial');
      // Esperar a que la página se cargue completamente
      //await page.waitForNavigation({ waitUntil: 'networkidle0' });

      selector = 'div[role="listbox"]';
      await page.waitForSelector(selector, { visible: true });
      await page.click(selector);

      const optionSelector = 'div[role="option"]'; // Selector general para las opciones
    await page.waitForSelector(optionSelector, { visible: true });


     const naturalOptionSelector = `${listboxSelector} ${optionSelector} div.v-list-item__title:contains("Natural")`; // Selector combinado
    await page.waitForSelector(naturalOptionSelector, { visible: true }); // Espera específica para "Natural"
    await page.click(naturalOptionSelector);

    console.log('Opción "Natural" seleccionada.');









    //    // Esperar al menú desplegable y hacer clic en él
    // await page.waitForSelector('div[role="listbox"]');
    // await page.click('div[role="listbox"]');

    // // // Esperar a que las opciones del menú se carguen
    // // await page.waitForSelector('div[role="option"] .v-list-itemtitle');

    // // Usar XPath para encontrar la opción "Natural"
    // const [optionNatural] = await page.$x('//div[@role="listbox"]//div[text()="Natural"]');
    // if (optionNatural) {
    //   await optionNatural.click();
    //   console.log('Opción "Natural" seleccionada correctamente.');
    // } else {
    //   console.log('No se encontró la opción "Natural".');
    // }
     


      //Funciona OK
      /***************************************************************************************/
      /*** Ingresa el texto a buscar en la caja de texto (nombre de la persona o empresa) ****/
      /***************************************************************************************/
      // Esperar a que el campo de entrada esté disponible
      //await page.waitForSelector('div.v-text-field__slot > input[type="text"]', { timeout: 5000 }); // Espera hasta 10 segundos
      //-const searchInputSelector = 'div.v-text-field__slot > input[type="text"]';
      //-await page.waitForSelector(searchInputSelector);
      // Escribir texto en el campo de búsqueda
      //-const searchText = 'Juan Perez'; // Cambia esto al texto que deseas buscar
      //-await page.type(searchInputSelector, searchText);

  } catch (error) {
    console.error('Ocurrió un error:', error);
  } finally {
    await browser.close();
  }
}

(async () => {
    try {
      //const searchText = 'Juan Perez'; // Cambia esto al texto que deseas buscar
      const results = await runPuppeteer();
      //console.log('los resultados en JSON',JSON.stringify(results, null, 2));
    } catch (error) {
      console.error('Error:', error.message);
    }
  })();