2016-07-27 11 views
3

私はYahoo mailにドラフトレターを作成し、このドラフトレターページを取得しました。 これでC#とSelenium Webdriverを使って件名フィールドの価値を得たいと思います。 私は、次のコードを使用するが、それは空の文字列を返します。YahooドラフトメールでWebdriverを使用してドラフトの件名フィールドの値を取得できません

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

も助けにはならないTextプロパティの代わりに、GetAttribute方法の使用。

SeleniumWebdriverC#を使用して、yahooドラフト文字の件名フィールドの値を取得する方法はありますか?

http://prnt.sc/bye5ae - htmlコード

+0

あなたは 'GetAttribute(" innerHTML ")'を試しましたか? –

+0

残念ながら、それは助けにはなりません、空の文字列が返されます。 –

+0

ここにHTMLコードを貼り付けてご覧ください。 –

答えて

1

私はあなたが.GetAttribute("Value")として対象フィールドから値を取得するために使用している見として、ここでの唯一の問題はvalueあるべきValueとして属性プロパティを渡すにあることvは小文字でなければならないことを意味し、あなたので、以下のように試してみてください: -

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

または、以下のようにDOM上の要素の存在まで待機するWebDriverWaitを使用して:

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

私はそれをテストし、それは私のために働く。

希望します... :)

+1

小文字で問題を解決しました。ありがとうございました。 –

関連する問題