Página 1 de 1

Espera Explicita Selenium Basic

Enviado: Qua Jul 11, 2018 8:21 pm
por webline
A espera explicita é possível com o Selenium VBA porém não estou encontrando nada a respeito para Selenium Basic, pois preciso esperar que um elemento seja carregado na página para então somente depois continuar a execução. Sei que existe a opção de espera por tempo utilizando Wait porém o tempo de carregando pode variar. Alguém saber com fazer a espera explicita com selenium basic?

Re: Espera Explicita Selenium Basic

Enviado: Qua Jul 18, 2018 8:04 am
por webline
para fazer a espera explicita para selenium webdriver eu achei esse código

WebDriver driver = new FirefoxDriver();
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.presenceOfElementLocatedBy(By.id("password")));

Porém alguém poderia me ajudar para como fazer a mesma coisa com o Selenium Basic?

Re: Espera Explicita Selenium Basic

Enviado: Qua Jul 18, 2018 11:44 am
por webmaster

Re: Espera Explicita Selenium Basic

Enviado: Qua Ago 01, 2018 5:15 pm
por webline
Olá tentei conforme o link que indicou e também não consegui.
estou desde então pesquisando algo a internet a respeito mas também só achei para Selenium Webdriver.
será que a espera explicita só está disponível no Selenium Webdriver? acredito que deva ter uma forma de fazer ele esperar o elemento estar disponível. Se alguém souber.

Re: Espera Explicita Selenium Basic

Enviado: Qua Ago 01, 2018 5:37 pm
por webmaster
Pode colocar o código aqui?

Re: Espera Explicita Selenium Basic

Enviado: Qua Ago 01, 2018 7:02 pm
por webline
Segue o código. Porém a URL para navegar é uma sistema web instalado em intranet não ficando disponível para acesso fora da rede interna. Mas segue o código


Dim By As New By, Assert As New Assert, Verify As New Verify, Waiter As New Waiter
Dim driver As New WebDriver
Public nomenarede As Variant

Public Sub teste()

senha = Sheets("Petronect").range("B1").Value


driver.Start "firefox", "https://www.intranet/index.html/"

driver.Window.Maximize


driver.Get "www.intranet/index.html"
driver.FindElementById("inputUser").Click
driver.FindElementById("inputUser").Clear
driver.FindElementById("inputUser").SendKeys "usurario"
driver.FindElementById("inputSenha").Clear
driver.FindElementById("inputSenha").SendKeys senha
driver.FindElementByXPath("//button[@type='submit']").Click

driver.Wait 6000

nomenarede = driver.FindElementByClass("welcome_text").Text

comprador = Mid(nomenarede, 12)

driver.FindElementById("tabIcon1").Click

' driver.Wait 10000

''''''// Aqui eu preciso colocar a espera. Pois o botão abaixo Criar ele só fica disponível para clicar após o sistema carregar completamente, e este tempo varia bastante não sendo suficiente apenas utilizar o "driver.Wait 10000" '''''''''

driver.FindElementByXPath("//span[text()='Criar']").Text


driver.Wait 6000

driver.SwitchToNextWindow


driver.SwitchToFrame ("contentAreaFrame")
driver.SwitchToFrame ("isolatedWorkArea")

driver.FindElementById("WD3A-btn").Click

End Sub

Re: Espera Explicita Selenium Basic

Enviado: Qua Ago 01, 2018 10:09 pm
por webmaster
Não estou vendo o uso do By e do IsElementPresent em lugar algum. Chegou a ver o conteúdo do link que mandei?