Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Vba para .net
-
- Acabou de chegar
- Mensagens: 9
- Registrado em: Seg Abr 20, 2020 11:11 am
Vba para .net
Como uso loops em .net com o selenium, como no exemplo abaixo
While driver.IsElementPresent(por.ID("escondido"))
'espera por um segundo
'o uso do Application.Wait serve para não congelar a execução do VBA
Application.Wait Now + TimeValue("00:00:01")
Wend
'neste ponto, o elemento já deve estar presente
MsgBox driver.FindElementById("escondido").Text
Quando tento encontrar o elemento recebo 2 erros (is not boolean ou não faz parte de iwebdriver)
Um erro quando eu tento usando "while" como no exemplo, e o outro erro acontece quando uso "if, else"
While driver.IsElementPresent(por.ID("escondido"))
'espera por um segundo
'o uso do Application.Wait serve para não congelar a execução do VBA
Application.Wait Now + TimeValue("00:00:01")
Wend
'neste ponto, o elemento já deve estar presente
MsgBox driver.FindElementById("escondido").Text
Quando tento encontrar o elemento recebo 2 erros (is not boolean ou não faz parte de iwebdriver)
Um erro quando eu tento usando "while" como no exemplo, e o outro erro acontece quando uso "if, else"
-
- Acabou de chegar
- Mensagens: 9
- Registrado em: Seg Abr 20, 2020 11:11 am
Re: Vba para .net
Dim driver As WebDriver
Public Sub test()
Set driver = New ChromeDriver
Call driver.SetProfile("C:\Users\etc...", True)
driver.Get "link"
While driver.IsElementPresent(by.ID("id"))
Application.Wait Now + TimeValue("00:00:01")
'ou driver.wait (100)
Wend
driver.FindElementById("id").click
If driver.IsElementPresent(By.ID("id")) Then
driver.IsElementPresentbyid("id").Click
Else: sendkeys "windos key+ print"
'ainda não sei o neme dessas teclas
End If
End Sub
Public Sub test()
Set driver = New ChromeDriver
Call driver.SetProfile("C:\Users\etc...", True)
driver.Get "link"
While driver.IsElementPresent(by.ID("id"))
Application.Wait Now + TimeValue("00:00:01")
'ou driver.wait (100)
Wend
driver.FindElementById("id").click
If driver.IsElementPresent(By.ID("id")) Then
driver.IsElementPresentbyid("id").Click
Else: sendkeys "windos key+ print"
'ainda não sei o neme dessas teclas
End If
End Sub
-
- Acabou de chegar
- Mensagens: 9
- Registrado em: Seg Abr 20, 2020 11:11 am
Re: Vba para .net
Aqui um começo:
Vamos evoluindo a partir disso
Código: Selecionar todos
Imports System
Imports OpenQA.Selenium
Imports OpenQA.Selenium.Chrome
Module Program
Sub Main(args As String())
Dim driver As IWebDriver
Dim chromeOptions As New ChromeOptions()
chromeOptions.AddArguments("user-data-dir=C:\Users\etc...")
chromeOptions.AddArguments("--start-maximized")
driver = New ChromeDriver(chromeOptions) With {
.Url = "ttps://www.tomasvasquez.com.br"
}
End Sub
End Module
-
- Acabou de chegar
- Mensagens: 9
- Registrado em: Seg Abr 20, 2020 11:11 am
Re: Vba para .net
Desculpa a demora. Tive um problema no meu computador e só consegui ver a resposta agora.
Na verdade só estou tendo problema com os loops, todo resto do código eu consegui converter ou adaptar sem problemas
Na verdade só estou tendo problema com os loops, todo resto do código eu consegui converter ou adaptar sem problemas
Re: Vba para .net
Carlos,
Uma pequena nuância no Visual Basic .NET é que o loop While é diferente:
VBA
VB.NET
tudo é igual, exceto que o Wend vira End While. É isso?
Fonte: https://docs.microsoft.com/en-us/dotnet ... -statement
Uma pequena nuância no Visual Basic .NET é que o loop While é diferente:
VBA
Código: Selecionar todos
While condition
[ statements ]
[ Continue While ]
[ statements ]
[ Exit While ]
[ statements ]
Wend
Código: Selecionar todos
While condition
[ statements ]
[ Continue While ]
[ statements ]
[ Exit While ]
[ statements ]
End While
Fonte: https://docs.microsoft.com/en-us/dotnet ... -statement