private static string obterHTMLCompleto(HorariosViagemEnum TipoHorario, TabelaInformacoesViagemEnum TabelaInformacoesViagem, int linha) { var objTipoHorario = HorariosViagem.ObterCamposHorariosViagem(TipoHorario); var objInformacoeViagem = ObterElementoHtmlInformacoesViagem(TabelaInformacoesViagem, linha); var htmlCompleto = objTipoHorario.Value + objInformacoeViagem.Value; return(htmlCompleto); }
public static KeyValuePair <TipoElementoEnum, string> ObterCamposHorariosViagem(HorariosViagemEnum HorariosViagem) { Dictionary <TipoElementoEnum, string> dic = new Dictionary <TipoElementoEnum, string>(); switch (HorariosViagem) { case HorariosViagemEnum.EMBARQUE: dic.Add(TipoElementoEnum.CssSelector, "#ida"); break; case HorariosViagemEnum.DESEMBARQUE: dic.Add(TipoElementoEnum.CssSelector, "#volta"); break; } return(dic.First()); }
public static KeyValuePair <TipoElementoEnum, string> ObterHtmlInformacoesViagem(HorariosViagemEnum TipoHorario, TabelaInformacoesViagemEnum TabelaInformacoesViagem, int linha) { Dictionary <TipoElementoEnum, string> dic = new Dictionary <TipoElementoEnum, string>(); var htmlCompleto = obterHTMLCompleto(TipoHorario, TabelaInformacoesViagem, linha); switch (TipoHorario) { case HorariosViagemEnum.EMBARQUE: dic.Add(TipoElementoEnum.CssSelector, htmlCompleto); break; case HorariosViagemEnum.DESEMBARQUE: dic.Add(TipoElementoEnum.CssSelector, htmlCompleto); break; } return(dic.First()); }
public List <InformacoesViagem> ObterListaDoResumoDaViagem(HorariosViagemEnum Horario, int QuantidadeLinhas) { try { var valorInicial = 5; var listaInformacoesViagem = new List <InformacoesViagem>(); for (int i = 0; i < QuantidadeLinhas; i++) { if (i > 0) { valorInicial++; } var objCampoHorarioIda = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.DATA_IDA, valorInicial); var objCampoOrigem = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.ORIGEM, valorInicial); var objCampoDuracao = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.DURACAO, valorInicial); var objCampoHoraVolta = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.DATA_VOLTA, valorInicial); var objCampoDestino = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.DESTINO, valorInicial); var objCampoTarifaMax = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.VALOR_TARIFA_MAX, valorInicial); var objCampoTarifaPlus = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.VALOR_TARIFA_PLUS, valorInicial); var objCampoTarifaLight = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.VALOR_TARIFA_DOUBLE, valorInicial); var objCampoTarifaPromocional = TabelaInformacoesViagem.ObterHtmlInformacoesViagem(Horario, TabelaInformacoesViagemEnum.VALOR_TAFIFA_PROMO, valorInicial); WaitAtElementsStayVisible(TipoElementoEnum.CssSelector, "table.tableTarifasSelect.infoToRemarketing"); WaintPresenceOfAllElementsLocatedForObject(objCampoHorarioIda.Key, objCampoHorarioIda.Value); var strCampoHorarioIda = Regex.Replace(GetPropertyObject(objCampoHorarioIda.Key, objCampoHorarioIda.Value, "innerText"), @"\r\n?|\n", "").Replace("Partida", ""); WaintPresenceOfAllElementsLocatedForObject(objCampoOrigem.Key, objCampoOrigem.Value); var strCampoOrigem = GetPropertyObject(objCampoOrigem.Key, objCampoOrigem.Value, "innerText"); WaintPresenceOfAllElementsLocatedForObject(objCampoDuracao.Key, objCampoDuracao.Value); var strCampoDuracao = Utilitarios.SubstituirRegex(GetPropertyObject(objCampoDuracao.Key, objCampoDuracao.Value, "innerText")).Trim().Replace("Duração: ", "").Trim().Replace("Voo Direto", "").Replace(" 0", ""); WaintPresenceOfAllElementsLocatedForObject(objCampoHoraVolta.Key, objCampoHoraVolta.Value); var strCampoHoraVolta = Regex.Replace(GetPropertyObject(objCampoHoraVolta.Key, objCampoHoraVolta.Value, "innerText"), @"\r\n?|\n", "").Replace("Chegada", ""); WaintPresenceOfAllElementsLocatedForObject(objCampoDestino.Key, objCampoDestino.Value); var strCampoDestino = GetPropertyObject(objCampoDestino.Key, objCampoDestino.Value, "innerText"); WaintPresenceOfAllElementsLocatedForObject(objCampoTarifaMax.Key, objCampoTarifaMax.Value); var strCampoTarifaMax = Utilitarios.SubstituirRegex(GetPropertyObject(objCampoTarifaMax.Key, objCampoTarifaMax.Value, "innerText")).Replace("tarifa Max", "").Replace("R$", "").Trim(); WaintPresenceOfAllElementsLocatedForObject(objCampoTarifaPlus.Key, objCampoTarifaPlus.Value); var strCampoTarifaPlus = Utilitarios.SubstituirRegex(GetPropertyObject(objCampoTarifaPlus.Key, objCampoTarifaPlus.Value, "innerText")).Replace("tarifa Plus", "").Replace("R$", "").Trim(); WaintPresenceOfAllElementsLocatedForObject(objCampoTarifaLight.Key, objCampoTarifaLight.Value); var strCampoTarifaLight = Utilitarios.SubstituirRegex(GetPropertyObject(objCampoTarifaLight.Key, objCampoTarifaLight.Value, "innerText")).Replace("MENOR PREÇO DO DIA", "").Replace("tarifa Light", "").Replace("R$", "").Trim();; var strCampoTarifaPromo = "0,00"; if (Horario.Equals(HorariosViagemEnum.DESEMBARQUE)) { if (!GetPropertyObject(objCampoTarifaPromocional.Key, objCampoTarifaPromocional.Value, "innerText").Contains("Indisponível")) { WaintPresenceOfAllElementsLocatedForObject(objCampoTarifaPromocional.Key, objCampoTarifaPromocional.Value); WaitAtElementsStayVisible(objCampoTarifaPromocional.Key, objCampoTarifaPromocional.Value); strCampoTarifaPromo = Utilitarios.SubstituirRegex(GetPropertyObject(objCampoTarifaPromocional.Key, objCampoTarifaPromocional.Value, "innerText")).Replace("MENOR PREÇO DO DIA", "").Replace("tarifa Promo", "").Replace("R$", "").Trim(); } } var informacaoViagem = new InformacoesViagem { Indice = i, HorarioIda = strCampoHorarioIda, Origem = strCampoOrigem, Duracao = strCampoDuracao, HorarioVolta = strCampoHoraVolta, Destino = strCampoDestino, ValorTarifaMax = strCampoTarifaMax, ValorTarifaPlus = strCampoTarifaPlus, ValorTarifaDouble = strCampoTarifaLight, ValorTarifaPromo = strCampoTarifaPromo }; listaInformacoesViagem.Add(informacaoViagem); } return(listaInformacoesViagem); } catch (Exception ex) { throw new Exception(ex.Message); } }