2016-09-16 3 views
2

Gibt es eine Möglichkeit, Element mit einem Attribut zu finden, die nicht Groß-und Kleinschreibung beachten muss?Suchen von Element mit Attribut ignoriert Fall

Denken Sie, dass, ich will wie dies durch ein Titelelement finden:

driver.findElement(By.cssSelector("input[title='This is a Test Title']")).sendKeys("Test"); 

Aber Veränderung des Titeltext nicht meine WebElement beeinflussen.

+2

Versuchen Sie die CSS-Selektor [attr * = Wert], dies wählt alle Elemente, die die Teilzeichenfolge von 'Wert' enthalten, in Ihrem Fall versuchen Sie' input [title = "itle"] ', ein kleines Problem für die Groß-/Kleinschreibung :) – VladNeacsu

+0

Sorry @VladNeacsu, ich meinte ganzen Titeltext (Dies ist ein Testtitel). –

+0

Ich habe gerade getestet. In HTML gibt es einige Attribute, die Groß-/Kleinschreibung nicht beachten (Beispiele sind IDs und Klassen, aber diese sind sinnvoll), aber leider 'title' ist nicht :(https://jsfiddle.net/8ou7aw3a/1/ – VladNeacsu

Antwort

3
bekommen

Sie können xpath erreichen, um dies zu erreichen. schau dir das untenstehende Beispiel an.

Der obige xpath wandelt alle Großbuchstaben vom Titel in Kleinbuchstaben um und prüft, ob er dem angegebenen Wert entspricht.

+0

Danke, es funktioniert. Aber Für kleine Buchstaben sollte ein einfaches Anführungszeichen verwendet werden: driver.findElement (By.xpath (".// input [translate (@title, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'dies ist mein Titel']")). sendKeys ("Test"); –

+0

Gibt es eine CSS-Methode, um das Gleiche zu tun? @Sudharsan –

0

Zuerst wählen Element

WebElement element=driver.findElement(By.cssSelector("input[title='This is a Test Title']")); 

Zweite Sie Unterelement

WebElement subElement=element.findElement(By.tagName("Your Tag Here").attr("Your Attribute")); 

Schließlich

subElement.sendKey("Test"); 
Verwandte Themen