Wie kann man einen Text auf einer Web-Seite mit C # lesen?


#1

Hallo an alle,
Ich bin neu in C # und WebDriver und ich habe eine Frage.
Auf der GoogleSeite habe ich mehrere TextBox und ich würde gerne den Inhalt dieser texbox mit anderen Nachrichten ändern. was ich mit dem folgenden Code gemacht habe.
[csharp]IList Email = iwd_driver.FindElements(By.ClassName(“gwt-TextBox”));

int c = 0;
foreach(IWebElement i in Email)
{
string test = i.ToString();
string tests = i.Text.ToLower();
if ((c == 3) && (i.Text.ToLower() == "development@gigi.com"))
{
i.Clear();
i.SendKeys("customer.services@gigi.com");
}
c++;
}
}
catch
{
break;
}
[/csharp]

der Text für die Email Adresse ist "development@gigi.com". das möchte ich mit “customer.services @ gigi.com” ersetzen. Ersatz ist bereits getan. aber ich möchte, dass mein code zuerst mal dieser Nachricht "development@gigi.com" liest, bevor es dem Austausch geschrieben wird. Ich habe versucht, es mit der folgenden beiden Funktionen String test = i.ToString () , und String-Tests i.Text.ToLower = () dieser Nachricht zu lesen, aber ich kann nicht. Mein code gibt mir die folgende Nachricht zurück “OpenQA.Selenium.Firefox.FirefoxWebElement” statt "development@gigi.com".

Frage: wie kann ich "development@gigi.com" lesen oder welche Funktion kann ich benutzen um diese Nachricht "development@gigi.com" zu lesen. bevor ich die Nachricht mit “customer.services @ gigi.com” ersetze.

I m sorry für die Fehler und danke Ihnen für die Antworten und Anregungen im voraus
Maeva


#2

i.Text returns the inner text of the element. Try getAttribute(“value”) instead.


#3

Der Aufruf von “ToString” auf ein IWebElement sorgt für die Ausgabe “OpenQA.Selenium.Firefox.FirefoxWebElement”.
Da “ToString” meist das ganze Objekt “beschreibt” und nicht nur den Wert den man erwartet.

Was du suchst wäre folgendes:
[csharp]string valueText = foundWebElement.GetAttribute(“value”);
[/csharp]

Einen Nachteil sehe ich bei diesem Code noch. Sollte sich der Aufbau der Seite mal ändern ist das gesuchte Feld vielleicht nicht mehr an der richtigen Stelle (c==3).
Sollte das Feld eine Id haben greife doch direkt auf diese Element zu.