Selenium — Inspeção de elementos
Para utilizar os elementos na tela e utilizar eles na automação, precisamos inspecionar eles e identificar de forma única. Caso tenha mais de um elemento com o mesmo id ou com o mesmo name o teste vai falhar. Então precisamos utilizar da melhor forma possível as diferentes formas de inspecionar os elementos disponíveis.
By.id: Localiza o elemento pelo atributo id
By.name: Localiza o elemento pelo atributo name
By.tagName: Localiza o elemento por uma tag
By.linkText: Localiza o elemento pelo nome do link
By.partialLinkText: Localiza o elemento pelo nome parcial do link
By.cssSelector: Localiza o elemento por CSS Selector
By.className: Localiza o elemento pelo atributo class
By.xpath: Localiza o elemento pela estrutura XML;
Para encontrar pressionamos o botão F12 do teclado na tela que queremos inspecionar e acessamos a aba “Elements”.
Exemplos:
Id
WebElement campo = driver.findElement(By.id(“q”));
Name
WebElement campo = driver.findElement(By.name(“q”));
ClassName
WebElement campo = driver.findElement(By.className(“gsfi”));
PartialLinkText
WebElement campo = driver.findElement(By.partialLinkText(“Create”));
LinkText
WebElement campo = driver.findElement(By.LinkText(“Create account”));
XPATH
Como é mais complicado de entender a estrutura XML para inspecionar, vamos utilizar um atalho para identificar o elemento disponível pelo próprio navegador. Clicando com o botão direito do mouse sobre o elemento inspecionado clicando em Copy>CopyXPath.
WebElement campo = driver.findElement(By.xpath(“//*[@id=”solucoes”]/li[1]/a/div[2]”));