Ajuste Fino do Seletor no Microsoft Word#

Suponha que você esteja trabalhando com um editor de texto. Na barra de título do editor de texto, você verá não apenas o seu nome (MS Word, etc.), mas também, separado por um hífen, o nome do documento atual. Suponha que você não queira que, neste cenário, o robô trabalhe apenas com este documento e nenhum outro.

Inicie o Word.

Na barra de título do editor de texto, é exibido o nome do documento atual e, separado por um hífen, o nome do editor. Suponha que o robô deve encontrar a janela do editor Word, mas o nome do documento não é importante.

Tente gravar um clique em algum botão na janela do Word, por exemplo, no botão de preenchimento de cor. Clique no botão para gravar a sequência de cliques.

Como experimento, pressione a tecla Ctrl, em vez de clicar com o botão esquerdo do mouse. Ou seja, a ação foi gravada sem um clique real no botão. Pressione escape para cancelar e clique no botão (Salvar e Fechar).

Um bloco de clique do mouse foi adicionado ao final do diagrama atual:

Veja o seletor do bloco.

Na primeira linha, ocorre a busca pelo aplicativo WINWORD. Na segunda linha, ocorre a busca pela janela com o título Document1 – Word, ou seja, exatamente a busca pelo documento com o nome específico Document1. Isso não faz parte do requisito. É necessário fazer com que o script funcione independentemente de qual documento esteja aberto. A coisa mais simples a fazer é remover o conteúdo desta célula e salvar a tabela do seletor dessa forma.

Geralmente, outras condições contidas nesta linha são suficientes para que o robô encontre o elemento de controle desejado. Na linha permanecem propriedades como o nome da classe e o tipo de elemento de controle.

Abaixo estão as maneiras de verificar se o robô funcionará corretamente nesse caso.

Primeira opção: usando o botão Verificar no topo da tabela do seletor.

O botão realiza uma verificação formal para ver se algum elemento na tela corresponde a toda a lista de comandos especificados no seletor.

Segunda opção: O botão Destacar permite mostrar de forma mais interativa e visual o processo de busca do robô por um determinado elemento de controle.

Clique no botão Verificar. O designer se minimiza, mas a verificação falhou.

Ao clicar no botão Destacar, é possível ver que a janela do aplicativo Word foi identificada, mas então ocorreu algum erro. O erro pode ser encontrado no log.

É evidente que o problema ocorreu na segunda linha, na célula ClassName com o valor MsoDockTop. Este elemento não foi encontrado. Teoricamente, não deveria haver problemas, mas não é o caso.

Grave novamente o seletor e não o edite. Clique no botão para gravar a sequência de cliques. Clique no botão de preenchimento de cor. Vá para o designer e abra o seletor do novo bloco. Clique no botão Verificar. No entanto, mesmo na forma original, o script não funciona. De acordo com o log, o robô também para na segunda linha.

Às vezes, acontece que ao passar o cursor do mouse sobre a barra, algo nas propriedades dessa barra muda. O problema mais comum ao iniciar seletores é que algum botão ou link no site muda o nome da classe. Quando o cursor do mouse está sobre o elemento, o nome da classe é um. Quando o cursor do mouse sai do elemento, o nome da classe muda – assim é a própria página. Muito provavelmente, isso aconteceu neste caso, quando você gravou o clique no botão de preenchimento de cor, passando o cursor sobre ele.

Vamos verificar se esse é o problema e quais ações devem ser tomadas para depurar o seletor.

Para começar, vamos tentar relaxar uma das condições que estão na linha problemática. Tente começar pela condição Index. Remova o valor desta célula (2), clique no botão Verificar. A janela com o título Document1 – Word se abre, ou seja, tudo funciona corretamente. Na tabela do seletor, no botão Verificar, aparece uma marca verde. A verificação formal do seletor foi concluída.

Clique no botão Destacar. Após clicar neste botão, o robô percorrerá sequencialmente todos os passos – linhas do seletor e destacará a cada vez o passo atual, ou seja, o elemento na tela em que ele se encontra.

Primeiro, o robô encontrou e destacou toda a janela, depois encontrou a barra de ferramentas na janela e a destacou, em seguida, dentro da barra de ferramentas, encontrou e destacou a seção Parágrafo e, em seguida, encontrou o botão de preenchimento de cor.

Além disso, o robô encontrou este botão pelo contorno externo, pois o botão consiste em duas partes: o próprio botão e a seta que chama a paleta. No último passo, o robô destacou já o próprio botão de preenchimento.

Dessa forma, você consertou o seletor.

Às vezes, pode ser mais fácil simplesmente remover toda a linha problemática, em vez de adivinhar qual das condições é desnecessária. Isso funcionará se na tela dentro do contêiner de nível superior não houver outra instância da linha seguinte. Neste seletor, a linha após a problemática se encaixa nessa condição:

Tente remover a linha problemática.

Salve o seletor, entre novamente e clique no botão Verificar.

A verificação foi concluída com sucesso.

Volte ao exemplo original. É necessário que o seletor seja universal e funcione com quaisquer documentos do Word, e não apenas com Document1.

Remova o conteúdo desta célula no seletor e verifique o funcionamento do seletor.

O seletor funciona.

Há outra maneira – existe a funcionalidade de inserção de caracteres curinga. Você pode inserir um ponto de interrogação, que substituirá um único caractere, ou um asterisco, que substituirá vários caracteres.

Ou seja, você pode gravar o valor da célula Name na segunda linha como “* — Word”

Esse truque pode ser útil se você precisar esclarecer ao robô com qual dos muitos elementos semelhantes estamos lidando.

Se você não estiver satisfeito com o resultado, pode regravar o seletor usando o botão Gravar na tabela do seletor.

Você também pode adicionar manualmente uma nova linha usando o botão “Adicionar nova linha” e inserir alguns parâmetros na linha do seletor automaticamente.