2017-05-17 4 views
-1

Ich habe meine Selen Rahmen Upgrade 3.4 Version Selen und ich bin unten Fehler bekommen:Selen 3 Upgrade-Problem mit Klassennamen

Wenn der Klassenname einen Raum dann FindElement versagt Liste der ReadOnlyCollection<IWebElement>

zurückzukehren

Welche Schritte reproduzieren das Problem?

1.Not Arbeits:

FindElements(By.ClassName("CLASS NAME")); 

2. Arbeits:

FindElements(By.ClassName("CLASSNAME")); 

Jetzt sind die meisten von XPath enthält Klassennamen mit Leerzeichen und meine scripts`are funktioniert nicht.

Um alle xpaths in meinem Skript ohne Leerzeichen zu machen, ist eine große Aufgabe. Es wird mehr Zeit brauchen, um dies zu erhalten.

Kann mir jemand vorschlagen, oder hast du irgendwelche Workarounds, um eine minimale Änderung und Skript wird in Ordnung sein?

Wird das Selen-Team auch dieses Problem beheben?

+0

Das gleiche Skript arbeitete vor dem Upgrade verwenden XPath haben? oder hast du auch etwas anderes verändert? – Guy

+1

Können Sie ein Beispiel hinzufügen, das den HTML-Code und den genauen Code enthält, den Sie verwenden? – Guy

+0

@PrashantManakar Können Sie uns bitte etwas von Ihrer Arbeit zeigen? Danke – DebanjanB

Antwort

1

Die Sache ist die, dass es keine Räume in einem Klassennamen erlaubt ist

Wenn Sie Klassenname wie sehen sind:

<input class="class name"/> 

dann stellt es zwei Klassen erste ist class und zweite ist name

Jetzt zu Selen kommen:

By.className() Selektor ermöglicht es Ihnen nicht, Verbindung zu verwenden Klassen. wie By.className("class name")

Wenn Sie Verbindungsklasse manipulieren, die Sie auf diese Weise

driver.findElement(By.xpath("//span[@class='class name']") 

OR CSS-Selektor auf diese Weise

driver.findElement(By.cssSelector(".class.name") 
Verwandte Themen