Mover mouse ate elemento encontrado

Olá, estou fazendo uma automação ( WEB )
Preciso rolar a tela até que o elemento seja encontrado.
como ficaria o codigo abaixo que estou executando?
Pode me ajudar?

self.find_element(‘//*[@id=“datahubTable”]/div[2]/div/div[6]/span[2]/div[1]/a’, By.XPATH)

Olá Carlos, tudo bem?

Para rolar a pagina para cima e para baixo, você pode usar esses métodos que a BotCity disponibiliza:

Você pode rolar pra cima e para baixo, passando a quantidade de vezes que deseja faze-lo como parâmetro.

Teste, e veja se funciona para o seu processo.

Obrigado pela ajuda Livia, más não é isso que preciso.

Preciso mover o mouse até um elemento que não esta na tela, ou seja, a pagina tem que ser rolada até que o elemento apareça.
Consegue me ajudar?

Carlos,

Você precisa apenas mover o mouse para esse elemento? Não irá clicar neste elemento?

Quando você diz que a pagina tem que ser rolada, o scroll não é uma opção?

Para aguardar que o elemento fique visível, você pode usar o método wait_for_element_visibility

usando esse método, ele aguarda que o elemento fique visível, e você pode editar o parâmetro waiting_time para o tempo de espera que achar necessário.

Você também pode utilizar diretamente o JS para dar um scrollIntoView no elemento, assim:

elemento = self.find_element(..., By.XPATH)
self.driver.execute_script("arguments[0].scrollIntoView(true);", elemento)

Caso, as opções não caibam para o seu processo, o fórum permite que envie imagens, se achar que irá facilitar meu entendimento sobre o processo, fique a vontade para envia-las.

Isso mesmo Livia.
Preciso apenas de mover o mouse ate o elemento, pois depois que o mouse esta em cima desse elemento, aparece uma caixa com outras opçoes que sera clicada.

então oque acontece, nessa tela que preciso localizar esse elemento, tem uma media de 400 arquivos, então a unica opção que tenho, é rolar a tela até que apareça o elemento e assim o codigo faça com que o mouse paire sobre ele.
Oque vc me sugere?
Obrigado pela ajuda

Carlos, você pode tentar desta forma:

Após usar

elemento = self.find_element(..., By.XPATH)
self.driver.execute_script("arguments[0].scrollIntoView(true);", elemento)

faça um novo find deste elemento, e depois mova o mouse para as coordenadas dele, assim:

 # Encontra o elemento
 elem = self.find_element(..., By.XPATH)

# Pega as coordendas do elemento
 x = elem.location["x"]
 y = elem.location["y"]
 
# Move o mouse para as coordenadas
 self.mouse_move(x=x, y=y)

Utilizando essa opção, o cursor do mouse não se movimenta visivelmente, porem internamente o mouse esta se movendo, então irá até as coordenadas como desejado.

E você também pode fazer o mesmo, porem usando a visão computacional através do BotCity Studio, basta recortar o elemento, e ao definir as ações escolha move :

crop-actions

Assim, será gerado um código automático para encontrar esse elemento através da visão computacional.

if not self.find( "label_element", matching=0.97, waiting_time=10000):
    self.not_found("label_element")
self.move()

Desta segunda maneira o cursor do mouse se movimenta, e você conseguira ver a modificação na tela.

** Obs: Na primeira opção, pode ser que ao mover o mouse não apareça a caixa com as outras opções, neste caso, use a visão computacional.