J'écrivais un script pour télécharger des fichiers sur un site Web à Watir, C'est un mémorandum parce que j'ai résolu le problème qu'il était difficile de trouver des informations dans l'ancien environnement.
CentOS Linux 7 Ruby 2.0.0p648 Le joyau des spécifications est Watir Le navigateur utilise Firefox, mais d'autres navigateurs tels que Chrome
Je souhaite utiliser Watir pour télécharger un fichier sur un site Web en lançant un script automatique. Sur l'écran de téléchargement, appuyez sur le bouton appelé Sélectionner un fichier, et lorsque l'écran de sélection de fichier apparaît, sélectionnez un fichier à partir de là et téléchargez-le.
Le comportement de sélection d'un fichier à partir de l'écran de téléchargement ne fonctionne pas. Lorsque l'écran de sélection de fichier standard du système d'exploitation s'ouvre, le fonctionnement du script n'atteint pas s'il fonctionne en dehors du navigateur.
browser.execute_script("
document.dispatchEvent( new KeyboardEvent( 'keydown', { keyCode: 86 , ctrlKey: true , key: 'V' }) );
")
(Référence: https://ameblo.jp/personwritep/entry-12456996738.html) J'ai essayé des choses telles que, mais il n'effectue pas d'opérations telles que la lecture du fichier cible.
L'écran de téléchargement des fichiers est ci-dessous et vous pouvez appuyer sur le bouton Sélectionner un fichier
.
Ensuite, l'écran de sélection de fichier standard du système d'exploitation suivant apparaîtra, et il est conçu pour télécharger des fichiers à partir de là.
Lorsque vous utilisez manuellement, vous pouvez sélectionner le fichier après avoir appuyé sur le bouton Sélectionner le fichier
, ou vous pouvez télécharger le fichier par glisser-déposer.
En conséquence, c'est fait.
$browser.file_field(:id, //).set("filepath\/...\/file.png ")
https://stackoverflow.com/questions/15163816/automating-a-file-upload-with-watir-in-chrome-on-osx https://www.rubydoc.info/gems/watir/1.8.1/Watir%2FContainer:file_field
Pas de Watir.
Recommended Posts