2017-02-28 6 views
0

要素の入力値を読み取って、C#Windowsフォームアプリケーションの文字列変数 に保存する必要があります。出来ますか?ここ は、私は要素を見つける方法です:C#を使用して文字列変数にWeb要素値を取得する方法

IWebElement SearchCounter = Browser.FindElement(By.Id("counter")); 

、ここでは要素のHTMLコードです:

<div id="page-content"> 
    <input type="hidden" id="counter" value="355"> 

値を取得することはできません場合、私はこの要素のHTMLソースを読むことができますかそれを私のアプリの文字列変数に代入しますか?私はこの使用して、任意の結果を得ることはありません

value属性の値を読み取るには

string cs = SearchCounter.GetAttribute("innerHtml");     

答えて

0

を、GetAttributeは、あなたが探しているものでなければなりません。 driver.PageSourceプロパティは、あなたの現在のページのHTMLを与え、あなたの2番目の質問にhttps://www.w3schools.com/Tags/tryit.asp?filename=tryhtml5_input_type_hidden

driver.Navigate().GoToUrl("https://www.w3schools.com/Tags/tryit.asp?filename=tryhtml5_input_type_hidden"); 
driver.SwitchTo().Frame(driver.FindElement(By.Id("iframeResult"))); 
var element = driver.FindElement(By.Name("country")); 

var value = element.GetAttribute("value"); 
Console.WriteLine(value); 

:たとえば、そのデモページのうち、「ノルウェー」を取得するには、次のコードを使用すると思います。もちろん、自分でそれを処理しなければならないでしょう。あなたは、入力値を取得したい場合は

var source = driver.PageSource; 
Console.WriteLine(source); 
+0

wow!どうもありがとう! Uは私の主人公です! –

+0

よろしくお願いします!あなたが/あなたのために役立った答えを受け入れるなら、それはうまくいくでしょう:-) –

1

- あなたの代わりのgetAttribute( "innerHTMLプロパティ")の

string cs = SearchCounter.GetAttribute("value");を使用する必要があります。

要素のhtmlソースを取得する場合は、innerHtmlを使用します。

Browser.FindElement(By.Id("page-content").GetAttribute("innerHTML")は、<input type="hidden" id="counter" value="355">を返し、SearchCounter.GetAttribute( "innerHTML")は入力内に何かを返します。

幸運を祈る!

+0

私もこの方法を試みますありがとう –

関連する問題