2017-09-27 4 views
0

J'ai fait des recherches sur Internet pendant 2 heures ou quelque chose comme ça et maintenant je suis un peu frustré. Désolé si la réponse est "dupliquée" mais je ne peux pas trouver ce que je veux dans n'importe où et je suis un peu novice dans C# ainsi.Comment simuler une pression de touche dans C#

Je dois automatiser un processus dans Internet Explorer, le problème est quand je dois télécharger un fichier Excel pour travailler avec, je ne sais pas comment puis-je sélectionner l'option "Enregistrer" dans le pop-up de ouvrir, enregistrer, enregistrer sous ...

J'essaie

SendKeys.SendWait(System.Windows.Forms.Keys.Down.ToString()); 
SendKeys.SendWait(System.Windows.Forms.Keys.Enter.ToString()); 

et même avec SendKeys.Send(...); le système ne simulent le bas ou entrer, mais si je le fais avec le clavier il fonctionne, ce que je veux exactement est de simuler la touche du clavier en appuyant sur la flèche vers le bas, puis entrez.

((Désolé si mon anglais est mauvais)) POP UP

Je pense que je peux résoudre le problème si j'appuie sur l'option d'enregistrement (« de guardar ») simulant des presses à clavier, je dois télécharger le fichier, mais Je ne sais pas comment, il doit être tout processus automatique sans intervention de l'utilisateur qui entrera dans une base de données d'Excel automatiquement toutes les heures.

+1

Pouvez-vous s'il vous plaît expliquer plus, quel est votre problème réel, il semble que la simulation de la touche n'est pas la solution. – SeM

+0

Je vais modifier le poste, w8 un moment: $ – Aritzbn

+1

duplication possible de [Comment gérer le téléchargement d'un fichier dans Selenium Webdriver?] (Https://stackoverflow.com/questions/23510816/how-to-handle-downloading-a -file-in-selenium-webdriver) – Liam

Répondre

1

Vous devriez trouver un nœud dans le code html

<input id='fileupload'> 

ou quelque chose comme ça. peut ensuite utiliser

driver.FindElement().SendKeys(type absolute path to folder where do you want save file) 

C'est la meilleure solution, mais si vous devez manipuler dialogue, vous pouvez jeter un oeil à link ou poste similaire lié à ce sujet (fenêtre de dialogue de sélénium)

0

En tant que débutant dans le web automatisation, vous êtes probablement mieux d'utiliser un logiciel d'automatisation Web comme iMacros (Internet Explorer) ou Kantu (Chrome), qui peut être contrôlé à partir de C# et la ligne de commande et a intégré file download support.

+0

Je suis un débutant en automatisation web, mais je fais des pratiques dans une entreprise et ils me disent d'utiliser sélénium, je ne peux pas installer quoi que ce soit dans cet ordinateur :( – Aritzbn