1.0.2-alpha.0 • Published 2 years ago
@concordialang-healer/heuristics-web v1.0.2-alpha.0
@concordialang-healer/heuristics-web
🔌 Heurísticas para
concordialang-healer
Fornece plugins de heurísticas para utilizar em conjunto com concordialang-healer
.
São heurísticas para interface HTML.
Instalação
Instale pelo npm
:
npm install @concordialang-healer/heuristics-web --save-dev
👉 Obs.: Você também pode instalar pelo yarn
.
Configuração
Adicione as entradas na configuração do concordialang-healer
(geralmente .healerrc.json
):
{
"heuristics": [
{
"name": "by-id",
"from": "@concordialang-healer/heuristics-web"
},
{
"name": "by-classes",
"from": "@concordialang-healer/heuristics-web"
},
{
"name": "by-attributes",
"from": "@concordialang-healer/heuristics-web"
},
{
"name": "by-tag",
"from": "@concordialang-healer/heuristics-web"
},
{
"name": "by-xpath",
"from": "@concordialang-healer/heuristics-web"
},
{
"name": "by-text",
"from": "@concordialang-healer/heuristics-web"
}
]
}
Heurísticas
Nome | Descrição |
---|---|
by-id | Busca pela propriedade id |
by-classes | Busca por cada uma das propriedades class do elemento |
by-attributes | Busca pelos demais atributos além de id e class |
by-tag | Busca pela tag |
by-xpath | Busca pelo xpath (localização) |
by-text | Busca elementos com a mesma tag e conteúdo textual (textContent ) |
Os pesos distrbuidos pelas heurísticas aos elementos são calculados com a base na quantidade de elementos encontrados:
1 / quantidade_de_elementos_encontrados
Exemplo
Supondo que estamos procurando o elemento username
na interface abaixo
<body>
<h1>Exemplo</h1>
<form>
<input name="username" id="username" />
<input name="password" id="password" />
<button>ok</button>
</form>
</body>
Heurística by-tag
- Procura pelos elementos com a tag
input
na interface
querySelectorAll('input');
- Dois elementos serão encontrados
- Atribui peso
0.5
para cada um deles