selenium find element text tutorial with examples
Uma análise aprofundada do Selenium Find Element by Text with Example:
como adicionar valores em uma matriz
O que você aprenderá:
Selênio Encontrar elemento que contém texto específico
Selenium Find element by text é usado para localizar um elemento da web usando seu valor de texto. O valor de texto geralmente é usado quando as propriedades básicas de identificação do elemento, como ID ou classe, falharam.
Às vezes, os desenvolvedores tendem a agrupar elementos da web semelhantes com o mesmo ID ou a mesma classe. Nesse caso, localizar o elemento da web usando texto é o resgate dos testes de automação.
O valor do texto pode ser totalmente ou parcialmente correspondido para localizar o elemento. Ao final deste tutorial, você obterá um conhecimento claro sobre o elemento find do Selenium.
Abaixo está umExemplodo uso do método de texto para encontrar um elemento da web específico.
- Abra o site - SoftwareTestingHelp.com
- Encontre o hiperlink - Teste manual usando a propriedade text.
A tarefa acima pode ser realizada usando o método de texto embutido conforme mencionado abaixo:
WebElement textDemo = driver.findElement (By.xpath (“// *”));
Texto () Método de Selênio
- O método Text () é um método interno do driver da web selenium que pode ser usado para localizar um elemento com base no texto do elemento da web.
- Abaixo está um exemplo que demonstra o uso do método de texto no Selenium.
Cenário de Teste
- Abra o navegador Firefox com o URL: SoftwareTestingHelp.com
- Usando o método de texto do driver da web selenium, encontre o elemento da web com texto - Grave e Ganhe.
- Valide se o elemento selecionado é exibido na página da web.
- Se for exibido, imprime o texto como Elemento encontrado usando texto.
- Se o elemento não for exibido, imprima o texto como Elemento não encontrado.
Código fonte:
package Demo; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class FindElementDemo { public static void main(String() args) throws InterruptedException { // TODO Auto-generated method stub System.setProperty('webdriver.gecko.driver', 'D:\Data_Personal\Demo\geckodriver-v0.23.0-win64\geckodriver.exe'); WebDriver driver = new FirefoxDriver(); driver.get('https://www.softwaretestinghelp.com/'); WebElement textDemo = driver.findElement(By.xpath('//*(text()='Write and Earn')')); if(textDemo.isDisplayed()) { System.out.println('Element found using text'); } else System.out.println('Element not found'); driver.quit(); } }
Saída do console:
Explicação do código:
- Inicialmente, estamos criando uma instância do navegador Firefox usando motorista gecko .
- Usando o método driver.get (), estamos navegando para o URL: SoftwareTestingHelp
- Então, estamos tentando encontrar o elemento com o texto - Write and Earn (Hyperlink).
- Se o elemento da web for exibido, estamos adicionando uma instrução de impressão dizendo o elemento encontrado usando o texto especificado.
- Caso contrário, estamos imprimindo a mensagem de elemento não encontrado.
- Finalmente, estamos fechando a sessão do navegador usando o método driver.quit ().
Leitura sugerida => Tutoriais aprofundados e gratuitos de treinamento sobre selênio
Contém Método de Selênio
- O método contém é usado para encontrar elementos da web com correspondência parcial de texto.
- Por exemplo, se quisermos encontrar a lista de elementos da web que contém a palavra ‘Selenium’, podemos fazer isso usando o método integrado contém conforme mencionado abaixo.
List elementsList = driver.findElements(By.xpath(“//*(contains(text(),'Selenium'))'));
Exemplo:
Cenário de Teste
- Abra o navegador Firefox com o URL: SoftwareTestingHelp.com
- Usando o método contains, encontre a lista de elementos da web que contêm o texto - Write e Earn.
- Imprime a contagem do número de elementos encontrados na lista.
Código fonte:
package Demo; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class FindElementDemo { public static void main(String() args) throws InterruptedException { // TODO Auto-generated method stub System.setProperty('webdriver.gecko.driver', 'D:\Data_Personal\Demo \geckodriver-v0.23.0-win64\geckodriver.exe'); WebDriver driver = new FirefoxDriver(); driver.get('https://www.softwaretestinghelp.com/'); ListtextDemo= driver.findElements(By.xpath('//*(contains(text(),'Write and Earn'))')); System.out.println('Number of web elements: ' +textDemo.size()); driver.quit(); } }
Saída do console:
Explicação do código:
- Na primeira etapa, inicializamos a instância do driver gecko para apontar para um arquivo geckodriver.exe.
- Em seguida, estamos navegando para o URL https://www.softwaretestinghelp.com/
- Usando o método contains, estamos tentando encontrar os elementos da web com o texto “Write and Earn”.
- Usando o método de tamanho, contamos o número de elementos com o texto especificado e o imprimimos no console.
- Finalmente, estamos fechando a sessão do navegador da web usando o método driver.quit ().
Diferença entre os métodos de texto, texto de link e texto de link parcial
- Métodos de texto, texto de link e texto de link parcial são todos os métodos integrados fornecidos pelo driver da web Selenium.
- O método de texto é usado para identificar um elemento da web exclusivamente usando o texto da propriedade.
- O texto do link é usado para identificar um elemento da web exclusivamente usando o texto do link de propriedade, com uma correspondência exata.
- O texto do link parcial é usado para identificar um elemento da web exclusivamente usando o texto do link de propriedade, não necessariamente a correspondência exata.
- O texto do link e o texto do link parcial diferenciam maiúsculas de minúsculas, o que significa que a diferença entre maiúsculas e minúsculas é importante.
Exemplo:
Cenário de teste:
diferença entre teste de unidade e teste de integração
- Abra o site SoftwareTestingHelp.com usando o navegador Firefox.
- Encontre o elemento da web - Escreva e ganhe um link usando o método de texto do link.
- Encontre o elemento da web - link Escreva e ganhe usando o método de texto de link parcial.
- Encontre o elemento da web - link Escreva e ganhe usando o método de texto.
Abaixo está o código-fonte para o cenário de teste acima.
Código fonte:
package Demo; import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public final class LinkTextDemo { public static void main(String() args) throws InterruptedException { // TODO Auto-generated method stub System.setProperty('webdriver.gecko.driver', 'D:\Data_Personal\Demo\geckodriver-v0.23.0-win64\geckodriver.exe'); WebDriver driver = new FirefoxDriver(); driver.get('https://www.softwaretestinghelp.com/'); WebElement linkText = driver.findElement(By.linkText('Write and Earn')); if(linkText.isDisplayed()) { System.out.println('Element using link text is found'); } WebElement partialLinkText = driver.findElement(By.partialLinkText('Write')); if(partialLinkText.isDisplayed()) { System.out.println('Element using partial link text is found'); } List textDemo = driver.findElements(By.xpath('//*(contains(text(),'Write and Earn'))')); if(textDemo.isEmpty()) { System.out.println('Element using text is not found'); } else System.out.println('Element using text is found'); driver.quit(); } }
Saída de código:
Explicação do código:
- Na primeira etapa, definimos a propriedade do sistema, ou seja, webdriver.gecko.driver para apontar para a localização local do arquivo geckodriver.exe.
- Em seguida, estamos inicializando uma instância do driver firefox e navegando para o URL - https://www.SoftwareTestingHelp.com
- Estamos inicialmente tentando identificar o elemento da web - Escreva e Ganhe usando o texto do link e imprimindo o status de identificação do elemento no console do Eclipse.
- Estamos inicialmente tentando identificar o elemento da web - Write and Earn usando o texto do link parcial e imprimindo o status de identificação do elemento no console do Eclipse.
- Inicialmente, estamos tentando identificar o elemento da web - Write and Earn usando o método de texto e imprimindo o status de identificação do elemento no console do Eclipse.
Conclusão
- Localizar elemento por texto é usado para localizar um elemento da web usando seu valor de texto. Método predefinido texto() é usado para conseguir o mesmo.
- O método contém é usado para encontrar elementos da web com correspondência parcial de texto.
- O método de texto é usado para identificar um elemento da web exclusivamente usando o texto da propriedade.
- O texto do link é usado para identificar um elemento da web exclusivamente usando o texto do link de propriedade, com uma correspondência exata.
- O texto do link parcial é usado para identificar um elemento da web exclusivamente usando o texto do link de propriedade, não necessariamente a correspondência exata.
Leitura recomendada
- 30+ Melhores Tutoriais de Selênio: Aprenda Selênio com Exemplos Reais
- Tutoriais detalhados do Eclipse para iniciantes
- Tutorial Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Tutorial do GeckoDriver Selenium: como usar o GeckoDriver em projetos do Selenium
- Tutorial Python DateTime com exemplos
- Introdução ao Selenium WebDriver - Selenium Tutorial # 8
- Scripts Eficientes do Selenium e Cenários de Solução de Problemas - Tutorial # 27 do Selenium
- Aprenda a usar anotações TestNG no Selenium (com exemplos)