Página 2 de 2

Re: Clicar em botão na web - nao funciona

Enviado: Qui Mai 05, 2016 10:17 pm
por Bobadilha
Public Sub AAAAAAAAAAAA2222()
Dim selenium As New SeleniumWrapper.WebDriver
selenium.Start "chrome", "http://cvmweb.cvm.gov.br/"

selenium.Open "/SWB/Sistemas/SCW/CPublica/CiaAb/FormBuscaCiaAb.aspx?TipoConsult=c"
selenium.Type "id=txtCNPJNome", "EZ TEC"
selenium.clickAndWait "id=btnContinuar"
selenium.clickAndWait "id=dlCiasCdCVM__ctl1_Linkbutton9"
selenium.clickAndWait "link=Valores Mobiliários negociados e detidos (art. 11 da Instr. CVM nº 358)"
'selenium.clickAndWait "link=Download"
'selenium.clickAndWait "xpath=(//a[contains(text(),'Download')])[2]"
'selenium.clickAndWait "xpath=(//a[contains(text(),'Download')])[3]"

Dim tbDados As SeleniumWrapper.WebElementCollection
Dim iCell, iTotal As Integer
Set tbDados = selenium.findElementsByXPath("//td")
iTotal = tbDados.Count - 1
For iCell = 0 To iTotal

ajud = Left(tbDados.Item(iCell).Text, 10)

If Left(tbDados.Item(iCell).Text, 10) = "11/04/2016" Then

tbDados.Item(iCell - 6).findElementByTagName("a").Click
End If
Next iCell

selenium.stop
End Sub

------

Boa! Ajudou d+ !! Fiz uma pequena modificação no codigo - acho que pra mim funciona melhor olhar o dia que a data de entrega foi feito e fazer o download se a data for igual a uma determinada. Ta funcionando perfeitamente.

A ultima coisa agora pra fechar com chave de ouro! Confesso que já estou até um pouco envergonhado, mas procurei um bom tempo e não achei haha

Esse arquivo que foi baixado preciso salvar em uma pasta especifica com um nome especifico (provavelmente seria o nome da empresa + horario de entrega numa nova pasta na rede nomeada pelo nome da empresa e dia). Tentei gravar a macro via Selenium IDE mas no Firefox não apareceu a opção de 'Salvar como' dai nao vi o codigo.

Tem alguma maneira de fazer isso?

Obrigado, voce não faz ideia do quanto me ajudou! Adquiri uma nova habilidade que vai ser super util aqui

abraços

Re: Clicar em botão na web - nao funciona

Enviado: Sex Mai 06, 2016 8:32 am
por Mikel Silveira Fraga
Bobadilha, bom dia.

Bom saber que teu projeto tem evoluído. Fico feliz em poder ajudar.

Bem, sobre esse seu último requisito, não tive tempo de testar, mas pelo que vi, acredito que o código existente no link abaixo pode ajudá-lo a definir o local e o nome de download. Segue link:
- VBA: A better solution required for downloading multiple files.

Tente adaptar esse código e, caso tenha dificuldades, entre em contato.

Forte abraço e excelente final de semana.

Re: Clicar em botão na web - nao funciona

Enviado: Sex Mai 06, 2016 6:24 pm
por Bobadilha
Public Sub AAAAAAAAAAAA2222()
Dim selenium As New SeleniumWrapper.WebDriver
selenium.Start "chrome", "http://cvmweb.cvm.gov.br/"

selenium.Open "/SWB/Sistemas/SCW/CPublica/CiaAb/FormBuscaCiaAb.aspx?TipoConsult=c"
selenium.Type "id=txtCNPJNome", "EZ TEC"
selenium.clickAndWait "id=btnContinuar"
selenium.clickAndWait "id=dlCiasCdCVM__ctl1_Linkbutton9"
selenium.clickAndWait "link=Valores Mobiliários negociados e detidos (art. 11 da Instr. CVM nº 358)"
'selenium.clickAndWait "link=Download"
'selenium.clickAndWait "xpath=(//a[contains(text(),'Download')])[2]"
'selenium.clickAndWait "xpath=(//a[contains(text(),'Download')])[3]"

Dim tbDados As SeleniumWrapper.WebElementCollection
Dim iCell, iTotal As Integer
Set tbDados = selenium.findElementsByXPath("//td")
iTotal = tbDados.Count - 1
For iCell = 0 To iTotal

ajud = Left(tbDados.Item(iCell).Text, 10)

If Left(tbDados.Item(iCell).Text, 10) = "11/04/2016" Then


tbDados.Item(iCell - 6).findElementByTagName("a").Click
End If
Next iCell

Dim arqSys As FileSystemObject
Dim objArq As File
Dim minhaPasta
Dim nomeArq As String
Dim dataArq As Date
Const Diret As String = "C:\Users\abobadilha\Downloads\"
Set arqSys = New FileSystemObject
Set minhaPasta = arqSys.GetFolder(Diret)
dataArq = DateSerial(1900, 1, 1)
For Each objArq In minhaPasta.Files
If objArq.DateLastModified > dataArq Then
dataArq = objArq.DateLastModified
nomeArq = objArq.Name
End If
Next objArq
a = nomeArq
Set arqSys = Nothing
Set minhaPasta = Nothing

abc = Diret & a
direto = "G:\Bobadilha\" & a

FileCopy abc, direto


selenium.stop


-----------


Doutor, vi seu link e confesso que foi um pouco demais pra mim, não obtive muito sucesso em adaptar. Busquei uma alternativa que resolveu pra mim. Uma macro que identifica o arquivo mais recente no diretorio e copia ele para outra pasta no sistema. Fechou, tenho tudo o que preciso ! Muito obrigado ! Colei o codigo acima pra caso alguem precise no futuro.

Muito obrigado! Abraços e otimo fim de semana !

Re: Clicar em botão na web - nao funciona

Enviado: Sex Mai 06, 2016 8:56 pm
por Mikel Silveira Fraga
Bobadilha, fantástico.

Bem, acho interessante deixar o link que passei, como base para um caso futuro. Eu mesmo vou usá-lo futuramente, pois vou precisar montar uma rotina para automação de uns dados.

Mas é muito bom saber que foi encontrado uma alternativa para a necessidade.

Bem, pra fecharmos com chave de ouro, confirme a conclusão do tópico, acrescentando um RESOLVIDO no título do tópico.

Excelente final de semana e até a próxima.