8
votes

Appuyez sur Tab, puis entrez la touche SELENIUM WEBDRIVER avec RUBY

Je fais des tests automatisés à l'aide de Selenium webdiver avec Ruby. J'ai besoin de cliquer sur un bouton. Je ne peux pas obtenir l'élément de bouton par ID ou CSS ou XPath car le bouton est transparent. Je voudrais utiliser la touche de tabulation et entrer dans la touche pour appuyer sur la touche.

Je peux utiliser la touche de tabulation pour obtenir le bouton ci-dessous: P>

@element.send_keys :tab
@element --> any javascript element visible in the browser


0 commentaires

4 Réponses :


3
votes

Garder à l'esprit l'extrait:

Je peux utiliser la touche de tabulation pour obtenir le bouton comme

@ element.send_keys: onglet

@Element -> n'importe quel élément JavaScript visible dans le navigateur

Mais comment puis-je utiliser la touche ENTER sur le bouton ??

Pour utiliser la touche Entrée du bouton, vous pouvez essayer l'une des solutions fournies à l'aide de Ruby ici . Cela parle essentiellement de l'envoi de la valeur : retour et non le : entrez valeur I.e @ element.send_keys: retour et quelques informations supplémentaires.

mis à jour:

Je pourrais fournir un certain code dans Java qui tente de mettre en œuvre le problème conceptuellement à l'aide de l'info fournie ici . Vous pouvez essayer de traduire pour l'API de Ruby Selenium correspondant.

Le code:

Builder Actions = Nouvelles actions (pilote);

Builder.Sendkeys (Élémentvisible, Keys.Tab) .Sendkeys (Keys.Return);

Action SecoueDetransPerentButton = Builder.Build ();

SOUMETTHETRANSPERENTTBUTTON.PERFORME ();


1 commentaires

ça n'aide pas. Mon cas est que je ne peux pas obtenir l'élément de bouton. Mais j'ai toujours besoin de cliquer sur le bouton. Y a-t-il un autre meilleur moyen d'y parvenir? Merci



7
votes

Dans le code de Ruby User1316 ressemble à xxx


0 commentaires

0
votes

Envoyer Entrée dans Ruby:

@browser.action.send_keys("\n").perform


1 commentaires

Je pense que cela ne fonctionne pas pour moi, comme si j'essaye d'aller à Google et de taper ASDF, puis de faire entrer manuellement cela fonctionne. ATTENDU QUE Si j'utilise IRB et que vous démarrez par programmation Google et que vous entrez par programme dans ASDF ou Tapez manuellement ASDF. Puis envoyer par programme par programme, cela ne fonctionne pas, tandis qu'une entrée manuelle ne fonctionne pas



0
votes

Utilisation Selenium :: WebDriver :: Keys :: Touches [: onglet]

ref: https://www.rubydoc.info/gems / selenium-webdiver / sélénium / webdiver / clés


0 commentaires