2016-07-27 19 views
3

Ich habe einen Entwurf Brief in Yahoo mail erstellt und dann zu diesem Entwurf Briefseite. Jetzt möchte ich Wert des Feldes Betreff mit C# und Selenium Webdriver erhalten. ich den folgenden Code verwendet, aber es gibt leere Zeichenfolge:Nicht möglich, Wert des Themenfelds des Entwurfs mit Hilfe von Webdriver in Yahoo Entwurf Mail

string subjectLocator = "//*[@id='subject-field']"; 
string actualSubject = driver.FindElement(By.XPath(subjectLocator)).GetAttribute("Value"); 

von Text-Eigenschaft anstelle von GetAttribute Methode auch nicht helfen.

Wie erhalten Sie den Wert des Betreffs Feld in Yahoo Briefentwurf mit SeleniumWebdriver und C#?

http://prnt.sc/bye5ae - HTML-Code

+0

haben Sie versucht, 'GetAttribute ("innerHTML-")'? –

+0

Leider hat es nicht geholfen, es wird auch eine leere Zeichenfolge zurückgegeben. –

+0

können Sie bitte einfügen HTML-Code hier für uns zu sehen? –

Antwort

1

Wie ich Sie verwenden zu bekommen Wert von Betreff-Feld als .GetAttribute("Value") sehen, hier Problem ist nur Attribut Eigenschaft als Value zu vorbei, die value bedeutet v sollte in Kleinbuchstaben geschrieben sein sollte, also Sie wie unten sollten versuchen: -

string actualSubject = driver.FindElement(By.Id("subject-field")).GetAttribute("value"); 

Oder WebDriverWait mit bis Element zu warten, die auf DOM wie folgt:

var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); 
IWebElement element = wait.Until(ExpectedConditions.ElementExists(By.Id("subject-field"))); 
string actualSubject = element.GetAttribute("value"); 

Ich habe es getestet und es funktioniert für mich.

Hoffe, es hilft ... :)

+1

Kleinbuchstaben löste das Problem, danke. –