Selenium - Cliquez à une certaine position
À l'aide de la version de Python de Sélénium, est-il possible de cliquer sur un élément dans le DOM et de préciser les coordonnées de l'endroit où vous voulez sur elle?
La version de Java a la méthode clickAt
, qui ne fait exactement ce que je cherche, mais ne trouve pas l'équivalent en Python.
source d'informationauteur davids
Vous devez vous connecter pour publier un commentaire.
Cela devrait le faire! À savoir, vous devez utiliser l'action des chaînes de webdriver. Une fois que vous avez un exemple de cela, il vous suffit de vous inscrire à un tas de mesures et ensuite appeler
perform()
à effectuer.Cela vous permettra de déplacer la souris de 5 pixels vers le bas et de 5 pixels à droite à partir du coin supérieur gauche de la touche j'ai de la chance. Puis il va
click()
.Avis que vous doit utilisation
perform()
. Sinon rien ne se passera.La raison pour laquelle vous êtes confus est
clickAt
est un vieux v1 (Selenium RC) de la méthode.WebDriver est une notion quelque peu différente de 'Les Actions.
Plus précisément, les "Actions" de constructeur pour les bindings Python live ici.
L'idée de la
clickAt
de commande est de cliquer dans une certaine position relative à un élément particulier.La même chose est réalisable dans le WebDriver, à l'aide de la "Actions" builder.
J'espère que ce mise à jour de la documentation peut vous aider.
Je n'ai pas personnellement utilisé cette méthode, mais en regardant le code source de
selenium.py
j'ai trouvé les méthodes suivantes qui regardent comme ils le ferais ce que vous voulez - Elles pour envelopperclickAt
:Ils apparaissent dans le sélénium objet et voici leur en ligne la documentation de l'API.