J'essaie d'automatiser la recherche Google, SendKeys normal fonctionne, mais lorsque j'essaie d'envoyer à l'aide de Keys.f5 ou de code ASCII, rafraîchira WTON Travailler Aussi, lorsque vous essayez de faire la localisation recharger, il donne une erreur comme "la méthode exécutée_script (chaîne) est indéfinie pour le type webDriver type "
essayé au lieu de F5, la touche F1 aussi mais pas en vain p> Il y a 4 approches
3 premiers ne rafraîchissent pas la pagea
Lorsqu'il est utilisé 4ème, il affiche une erreur car la méthode exécutée_script (String) est indéfinie pour le type WebDriver P> P>
3 Réponses :
si vous souhaitez actualiser votre page à l'aide des touches, vous pouvez également utiliser une classe de robot. P> Robot robot = new Robot(); // Robot class throws AWT Exception
Thread.sleep(2000); // Thread.sleep throws InterruptedException
robot.keyPress(KeyEvent.VK_CONTROL); // press Control key down key of
robot.keyPress(KeyEvent.VK_F5);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_F5);
Thread.sleep(2000);
J'ai dit que je voulais utiliser Sendkeys
c'est la question que j'ai mentionnée dans le titre
Vous pouvez vous rafraîchir de ci-dessous des manières:
1.utilisation de méthode et de manière récursive p> Utilisation de la méthode navigue et appelez récursivement votre URL p>
Utilisation d'une diffusion Web valide et d'envoi de clés p>
J'espère que cette aide. P> p>
pilote.get ("https://url.com");
pilote.navigate.to (pilote.getcurrentturl ()); code> p> li>
pilote.get ("https://url.com");
chauffeur. FindElement (by.id ("nom d'utilisateur"))). SendKeys (Keys.f5); Code> P> Li>
ol>
WebElement (I) SendKeys () ne acceptera pas les clés (touches de clavier). Cela peut être géré à l'aide de la classe d'actions uniquement.
En outre, si vous devez actualiser la page, utilisez le webDriver () actualiser () ou obtenir une URL actuelle à l'aide de GetCurrentturl () de la même interface et de naviguer () en utilisant la même URL que le paramètre. P>
Actualiser à l'aide d'une autre méthode Travailler, je souhaite principalement utiliser SenverKey pour un but d'apprentissage qui ne fonctionne pas, l'envoi d'alphabet fonctionne également, mais ASCII ou F5 Touche non rafraîchissante
Sa belle réponse maintenant, alors qu'est-ce qui suit pour utiliser Sendkeys et F5, quel élément accepte cette commande?
Si vous devez vous rafraîchir à l'aide de l'option F5, préférez-vous accéder à des «actions» SendKeys ().
Est-ce que j'y utilise à la page? C'est-à-dire de choisir une autre chose que l'élément Web
Pour rafraîchir la page en utilisant la classe d'actions, nous n'avons pas besoin de diffortement et votre code devrait être comme ci-dessous: Actions Actions = Nouvelles actions (pilote); actions.sendkeys (keys.f5);
1) Je voulais dire sans utiliser de classe d'action, SendKeys simples pouvons-nous essayer le code? 2) Je n'ai pas pu trouver la référence en ligne pour mentionner la clé F5 ne fonctionne pas pour le Web Elément, veuillez me pointer?
Un point que nous devons nous rappeler que l'actualisation est utilisée pour travailler au niveau du conducteur et non sur le niveau d'élément. Si nous essayons d'utiliser SendKeys () de WebPelement () ne fonctionnera pas car cela est basé sur l'élément. Par conséquent, nous pouvons aller avec des actions SendKeys (). Ici, les actions d'actions de la ligne = nouvelles actions (conducteur); créera un objet d'actions en utilisant ce pilote. De plus, si nous devons effectuer des actions classes à travailler, nous devons appeler Effectuer () à la fin de toute déclaration d'actions comme 'Actions.SendKeys (Keys.f5) .Perform ();'. Ensuite, cette action particulière peut être effectuée sur ce conducteur.
Tous les stipules de tutoriels en ligne fonctionnent pour l'élément Web
Je suis d'accord sur ce que vous avez dit. La plupart des tutoriels disent la même chose. C'est ce que même je me demandais comment ce sera le niveau d'élément. Selon la logique de base, Actualiser est le concept du niveau du conducteur, mais pas sur le niveau d'élément. Vous pouvez faire une chose, essayer les moyens d'utiliser la diffusion (). SendKeys (Keys.f5) et actions d'actions SendKeys (Keys.f5) .Perform () et décidez lequel fonctionnera. Merci :)
Même j'ai également essayé de différentes manières de simuler l'actualisation en utilisant la classe d'actions, mais pas réussi. Même problème à faire face après avoir essayé la façon dont ils ont mentionné dans ce
Le problème est que toutes les touches de fonction ne fonctionnent pas maintenant, je souhaiterais peut-être utiliser F1 et F12 principalement et d'autres clés aussi
Oui, toutes les clés de fonction ne fonctionnent pas dans le sélénium, ni à l'aide de SendKeSeys () ou à l'aide de SendKeys de classe Actions (). Je ne sais pas pourquoi c'est
Essayez avec
pilote.navigate.refresh (); code> existe-t-il une raison particulière que vous voulez utiliserSendKeys code>?Vous envoyez des clés à l'élément, pas au navigateur ou au système d'exploitation
@Pratik je suis juste d'apprendre la phase, je veux essayer toutes les méthodes