Frage

Ich bin ein bisschen weiter entlang in ein paar Probe-Test / Spezifikationen von Watir zu Selen umgewandelt wird. Nach meiner letzten Frage hier und schlugen vor, Antwort, begann ich Selenium 2.0 mit WebDriver statt Selen unter Verwendung von 1.

Das Beispiel in Frage befasst sich mit allen Links innerhalb einer Tabelle in ein Array zu sammeln - das Teil ist abgeschlossen. Sobald jedoch die Links in der Anordnung sind, die einzig sinnvolle Art und Weise, dass ich mit ihnen interagieren kann erscheint .text zu sein. Mit @ driver.navigate.to Array [1] gibt einen URL-Format Fehler im Browser und link.href oder .src sind keine gültigen Optionen.

Die Watir Implementierung sammelte diese Links (Seiten werden von den Benutzern über CMS hinzugefügt), so dass sie in einem Array gespeichert und dann jede Seite einzeln besucht, eine Bleiformular aus. Ich glaube, ich könnte dies an der Arbeit mit Selen und erneuten Besuch der Seite „Home“, die alle Verbindungen zwischen Blei Formularen enthalten, sondern dass Hunderte von zusätzlicher Seite Lasten bedeuten könnte, zwischengespeichert oder nicht.

Der Code so weit: '@Countries = Array.new

@browser.navigate.to "http://www.testingdomain{$env}.com/global"  
@browser.find_elements(:xpath, "//table[@class='global-list']//a").each do |link|      
  @countries << [link.text, link.href]  ## The original WATIR line that needs an update
end #links  

@countries.uniq! #DEBUG for false CMS content'

Der nächste Punkt I in der Selen-WebDriver Dokumentation finden konnte, war die (string) .attribute Methode, aber auch hier ist nicht sicher, welche Attribute

War es hilfreich?

Lösung

Ich war nicht sicher, ob das Format für die Verwendung mit dem Attribute Methode, aber nach einigem Experimentieren konnte ich hinter diesem Schritt bewegen.

@countries = Array.new

@browser.navigate.to "http://www.testingdomain{$env}.com/global"

@browser.find_elements(:xpath, "//table[@class='global-list']//a").each do |link|
text = link.attribute("text")
href = link.attribute("href")
@countries << [text, href]
end #links
`@countries.uniq! #DEBUG for false CMS content

Andere Tipps

Sieht aus wie Sie gefunden Ihre Antwort auf Ihre Frage auf eigene Faust.

Tatsächlich element.attribute ermöglicht es Ihnen, einen Tag beliebiges HTML-Attribut ziehen könnte möglicherweise haben. So wurden zu wollen, da Sie die URL des Elements ziehen, verwendet man element.attribute('href') des Elements href zurückzukehren = „“ Attribut. Das gleiche gilt für alle anderen Attribute erfolgen, einschließlich Klasse, id, Stil, etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top