GithubHelp home page GithubHelp logo

localizadores-css-e-xpath's Introduction

Localizadores CSS & Xpath

o que você vai aprender?

  • Saber diferenciar entre expressões CSS e Xpath;
  • Conhecer maneiras para testar localizadores;
  • Identificar elementos HTML, atributos e seus valores;
  • Conseguir montar seu seletor CSS e Xpath;
  • Quando usar cada um.

DOCUMENT OBJECT MODEL

DOM

Ainda sobre HTML:

image

  • Qual é o tipo do elemento? O elemento é o que vem depois do sinal de maior >, nesse exemplo seria o “select”.
  • Quais são seus atributos? São todos os itens que estão antes do sinal de “=”.
  • Quais são os valores de seus atributos? Nesse exemplo são: países, left-align, Seleção de países.

Guardem esses conceitos:

Qual é o tipo do elemento?

Quais são seu atributos?

Quais são os # valores de seus atributos?

Tipos de localizadores

  • Xpath
  • Atribute
  • Name
  • ID
  • CSS Selector
  • Class name
  • Link text
  • Tag name

Um pouco de cada um

Xpath:

  • XML Path Language (Linguagem de XML);
  • Se parecem com caminhos de diretórios.

Exemplo:

  • /html/head/title

CSS Seletor

  • Seletores CSS são expressões para locaiizar um elemento;

Exemplo:

  • div p

Principais maneiras de testar localizadores JQuery

Sintaxe JQuery

image

Site com localizadores CSS & Xpath Cheatsheet

Hand´s on!

CSS: $('.search_query').val()

Retorna o valor do filtro de busca, 't-shirts'

image

$('.homefeatured').text()

Retorna o texto

image

$('.blockbestsellers:first-child')

Retorna somente a primeira ocorrência daquele seletor CSS.

$('.blockbestsellers:first-child').click

Testa se o seletor funciona com .click()

image

$('.search_query').val('T-SHIRTS')

image

Exemplo com Xpath:

image

//div

image

Principais maneiras de testar localizadores DOCUMENT

Query Seletor:

document.querySelectorAll('cssSelector');

Com uso de classe:

image

Com uso de ID:

image

Get element:

document.getElementsByClassName(‘nomeClasse’);

image

Xpaths

document.evaluate('XPATH HERE', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;

image

Principais maneiras de testar localizadores CTRL + F

Testando seletor CSS:

image

Testando ID:

image

Comandos mais utilizados:

Seleção de todos os conteúdos, todos os elementos:

Comando:

$('*')

image

Caso queira fazer o mesmo com Xpath: Comando:

//*

image

Selecionando um elemento:

Comando: $('a')

Nesse exemplo buscamos todos os elemento’a’.

image

Mesma consulta com Xpath:

Comando: $x('//a')

image

Consultando desde raiz com css: buscando elemento de uma determinada estrutura.

Comando:

html > head > title

image

Mesma consulta com Xpath:

/ html / head / title

image

Fazendo consultas usando filtro:

Vamos fazer uma consulta como se fosse um select em um banco de dados.

Comando:

$(‘input[name=”search_query”]’)

O que o comando faz: busca um input na tela, onde o name é igual a "search_query".

image

Agora vamos fazer o mesmo com Xpath:

Comando:

$x('//input[@name="search_query"]')

image

Comando:

$('input[placeholder*="Sea"]')

image

Usando * ele pesquisa todos os atributos que tenha "placeholder" e o valor desse atributo contenha o "Sea".

Vamos fazer a mesma consulta com Xpath:

Usando "contains":

Comando:

$x('//input[contains(@placeholder,"Sea")]')

image

Quando não temos nenhum tipo de atributo:

image

Comando:

$('form input:nth-child(4)')

Explicando o comando:

Nesse exemplo criamos um seletor sem usar id, class, name, placeholder. Somente utilizando elementos HTML.

image

Agora vamos fazer o mesmo com Xpath:

Comando:

$x('//form//input[4]')

image

Pesquisando o primeiro elemento:

Comando:

$x('//form//input[1]')

image

Buscando o last:

Comando:

$x('//form//input[last()]')

image

Obs: nesse exemplo podemos ver que ele trouxe dois resultados, então não seria confiável, sempre busque por um elemento único.

Selecionando elemento pelo texto:

Comando:

$x(‘//*[text()=”Lorem Ipsum”]’)

image

Usando "contains" junto com "text":

Comando:

$x(‘//*[contains(text(), “textoexemplo”]’)

image

Tabela de localizadores

Nome CSS XPATH
Todos os elementos * //*
Um elemento p //p
Caminho absoluto html > body > title /html/body/title
Query com atributo Input[placeholder=”Search”] //input[@placeholder, “Search”]
Query com parte de atributo Input[placeholder*=”Sea”] //input[contains(@placeholder, “Sear”)]
Filhos do elemento Form input:first-child //form/input[1]
Form input:nth-child(4) //form/input[4]
Form input:first-child //form/input[1]
Classe e id .sear_query //*[@class=”search_query form-control ac_input”]
#search_query_top //*[@id=”search_query_top”]
//*[contains(@class, “search_query”)]
Elemento pelo seu texto //*[text()=”Come Visit Us”]
//*[contains(text(), “Nort Carolina”)]

Fonte: Iterasys Live com: Danilo Arantes Freitas

Agradecimentos:

Gostaria de agradecer ao meu amigo Sandro Augusto por me ajudar nesse projeto Linkedin

localizadores-css-e-xpath's People

Contributors

matheuscarvv avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.