61 lines
2.6 KiB
JavaScript
61 lines
2.6 KiB
JavaScript
const { chromium } = require('playwright');
|
|
|
|
(async () => {
|
|
const browser = await chromium.launch({ headless: false });
|
|
const context = await browser.newContext({
|
|
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
|
|
});
|
|
|
|
const page = await context.newPage();
|
|
|
|
try {
|
|
console.log('Realizando login...');
|
|
await page.goto('https://viventerisportalcredenciado.topsaudehub.com.br/', { waitUntil: 'networkidle' });
|
|
await page.fill('#usuario', '0005010');
|
|
await page.fill('#senha', 'Cclinic#03');
|
|
await page.click('#login-submit');
|
|
|
|
await page.waitForURL('**/AreaLogada**');
|
|
console.log('Login OK. Navegando para Novo Registro (Guia)...');
|
|
|
|
// Tentar ir direto para a URL de novo registro
|
|
const baseUrl = 'https://viventerisportalcredenciado.topsaudehub.com.br';
|
|
await page.goto(baseUrl + '/HomePortalCredenciado/WorkFlow/NovoRegistro', { waitUntil: 'networkidle' });
|
|
|
|
console.log('Página de Novo Registro carregada. Analisando campos...');
|
|
await page.waitForTimeout(3000); // Esperar carregar formulário dinâmico
|
|
|
|
// Listar todos os inputs, selects e botões para entender o formulário de guias
|
|
const formFields = await page.evaluate(() => {
|
|
const inputs = Array.from(document.querySelectorAll('input, select, textarea, button'));
|
|
return inputs.map(i => ({
|
|
tagName: i.tagName,
|
|
type: i.type,
|
|
id: i.id,
|
|
name: i.name,
|
|
placeholder: i.placeholder,
|
|
labelText: i.labels?.[0]?.innerText || i.parentElement?.innerText?.split('\n')[0] || ''
|
|
})).filter(i => i.id || i.name);
|
|
});
|
|
|
|
console.log('CAMPOS DO FORMULÁRIO ENCONTRADOS:', JSON.stringify(formFields, null, 2));
|
|
|
|
// Verificar se há algum seletor de "Tipo de Guia"
|
|
const tiposGuia = await page.evaluate(() => {
|
|
const select = document.querySelector('select');
|
|
if (select) {
|
|
return Array.from(select.options).map(o => o.text);
|
|
}
|
|
return 'Nenhum select encontrado';
|
|
});
|
|
console.log('Opções de Guia/Select:', tiposGuia);
|
|
|
|
} catch (error) {
|
|
console.error('Erro:', error);
|
|
} finally {
|
|
console.log('Mantendo aberto para sua visualização por 60 segundos...');
|
|
await page.waitForTimeout(60000);
|
|
await browser.close();
|
|
}
|
|
})();
|