none
Busca por texto em site RRS feed

  • Pergunta

  • Estou montando uma macro para extrair dados da web.

    Porém já barrei no começo do código, o site onde será feita a consulta procurará numa planilha do excel um código numa célula e fará a pesquisa no site. Iniciei o algoritmo assim:

    Sub tentativa()
    Dim HTMLDoc As HTMLDocument
    Dim oBrowser As InternetExplorer
    Dim Codigo As String
    Codigo = Range("'AÇÕES E FUNDAMENTOS'!B4")


        Dim oHTML_Element As IHTMLElement
        Dim sURL As String
        

        sURL = "http://www.bmfbovespa.com.br/pt_br/produtos/listados-a-vista-e-derivativos/renda-variavel/empresas-listadas.htm"
        Set oBrowser = New InternetExplorer
        oBrowser.Silent = True
        oBrowser.navigate sURL
        oBrowser.Visible = True

        Do
        Loop Until oBrowser.readyState = READYSTATE_COMPLETE
        
        Set HTMLDoc = oBrowser.document
    'deu erro na linha seguinte
    HTMLDoc.getElementById("ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_txtNomeEmpresa_txtNomeEmpresa_text").Value = Codigo
    HTMLDoc.getElementById("ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_btnBuscar").Click

    Ou seja, não consigo fazer a busca pelo id referenciando ao código, alguém sabe qual é o problema?


    • Editado pablo_eu3 terça-feira, 18 de abril de 2017 13:04 erro de digitação
    terça-feira, 18 de abril de 2017 13:03

Todas as Respostas

  • Pablo, utiliza um dos algorítimos abaixo. Vai ser muito melhor para você pesquisar o nome das ações.

    E outra coisa, o erro está ocorrento pois getElementById é responsável em pegar informações do elemento, e não inserir.

    Inicia o algorítimo como você escreveu só que inserindo uma nova variável: URL_bmf.

    Sub tentativa()
    
    Dim HTMLDoc As HTMLDocument
    Dim oBrowser As InternetExplorer
    Dim Codigo As String
    Codigo = Range("'AÇÕES E FUNDAMENTOS'!B4")
    
    
        Dim oHTML_Element As IHTMLElement
        Dim sURL As String
        
        Dim URL_bmf As String


    Agora aqui você irá decidi entre as duas dicas que vou passar:

    Dica 001

        

        Esse endereço é o endereço utilizado pelo frame do link que você está pesquisando.
        Com esse link ASP você consegue realizar pesquisas alterando o endereço agregando apenas o código da ação

        IRÁ RETORNAR A  PÁGINA NO QUAL VOCÊ PODERÁ CLICAR PARA ABRIR O RESUMO DA EMPRESA

            URL_bmf = "http://bvmf.bmfbovespa.com.br/cias-listadas/empresas-listadas/BuscaEmpresaListada.aspx?Nome="
            sURL = URL_bmf & Codigo


    Dica 002 (A MELHOR)

        Esse é o melhor LINK. Pois com ele você consegue ir direto no resumo da empresa
        Porém, você precisa ter o código da empresa registrado na CVM
        Por exemplo:   Via Varejo (VVAR11) CVM = 6505 ou GOL (GOLL4)         CVM= 19569

            URL_bmf = "http://bvmf.bmfbovespa.com.br/cias-listadas/empresas-listadas/ResumoEmpresaPrincipal.aspx?codigoCvm="
            sURL = URL_bmf & CVM

    Depois de decidido qual caminho escolher, é só continuar escrevendo

        Set oBrowser = New InternetExplorer
        oBrowser.Silent = True
        oBrowser.navigate sURL
        oBrowser.Visible = True
    
        Do
        Loop Until oBrowser.readyState = READYSTATE_COMPLETE

    quinta-feira, 20 de abril de 2017 20:41