2017-11-15 3 views
3

この場合、totalの値はここでは0です なぜ機能していないのですか?Text.LengthがwebElementの文字列の長さを見つけるために機能していません

List<IWebElement> list = new List<IWebElement>(); 
list = ABCPageObject.AbcTextArea().ToList(); 

foreach (IWebElement Option in list) 
{ 
    Option.Click(); 
    Option.Clear(); 
    Option.SendKeys("[email protected]#pu$tT%hi^sis&The*Tw(i)t<t>er[O]u{t}p/utT/ABCDEFGHIJKLMNOPQRSTU"); 
    Thread.Sleep(2000); 
} 
foreach(IWebElement Option in list) 
{ 
    var total = Option.Text.Length; 
    // total is 0 here when we debug 

    if(total == 116) 
    { 
     Utility.Logger.Write("Add Out"); 
    } 

} 
+0

'list'の各要素はどのノード型ですか? – Moira

+0

textarea、リストには2つの要素しかありません。両方の要素は2つの異なるdivにありますが、それらをクリックしてクリアできますが、text.lengthは機能しません。 –

+0

テキスト属性のテキストを取得するためにvalue属性を使用してみてください。 C#の構文に慣れていないが、Option.getAttribute( "value")のようなもので、その長さをチェックする? – smit9234

答えて

1

代わりtext()value attributteをチェックする必要があります。
inputtextareaのタグは、value属性に格納されています。

以下の簡単なテストをご覧ください。

driver.get("https://jsfiddle.net/f89zxd1w/"); 
driver.switchTo().frame("result"); 

driver.findElement(By.id("mytextarea")).sendKeys("Some text"); 

driver.findElement(By.id("myinput")).sendKeys("Some other text"); 

WebElement textArea = driver.findElement(By.id("mytextarea")); 
String areaText = textArea.getText(); 
String areaValue = textArea.getAttribute("value"); 

System.out.format("Area text = %s\n", areaText); 
System.out.format("Area value = %s\n", areaValue); 

WebElement input = driver.findElement(By.id("myinput")); 
String inputText = input.getText(); 
String inputValue = input.getAttribute("value"); 

System.out.format("Input text = %s\n", inputText); 
System.out.format("Input value = %s\n", inputValue); 

、結果は次のとおりです。(Javaで)簡単なテストコードをinputtextarea

ここ
<div> 
    <textarea id="mytextarea"></textarea> 
</div> 
<div> 
    <input id="myinput" /> 
</div> 

される -
ここでは2つのフィールドが含まれているsimple test pageです:

Area text = 
Area value = Some text 
Input text = 
Input value = Some other text 
+0

文字列AbcString = Option.GetAttribute( "value"); var TotalLength = AbcString.Count();働いてくれてありがとう –

関連する問題