2016-07-25 4 views
2

の入力フィールドから()gettextのためにどのように私は、私は上記の入力タグからgetText()したい以下のように私のDOM、angularjsアプリケーション

<input class="k-textbox ng-pristine ng-untouched ng-valid ng-valid-required" type="text" placeholder="" ng-blur="controller.isDirty=true" ng-change="controller.isDirty=true" ng-model="controller.model.value" ng-required="controller.model.required" ng-disabled="controller.model.readOnly" ng-focus="controller.showFieldHistory(controller)" disabled="disabled"> 

を持っています。私は以下の方法を試しましたが、これはJSapplicationなのでgetTextにはできません。テキストはDOMには表示されませんが、UIに表示されます。

List<WebElement> values = driver.findElements(By.xpath("//input[@ng-model='controller.model.value']")); 
    for(int i=0;i<values.size();i++) 
    { 
     String theTextIWant = values.get(0).getAttribute("ng-model"); 
     System.out.println(theTextIWant); 

    } 

以下は、上記のコードを実行したときの出力です。私はそれだけで内部に存在する値を取得することを言うことができ、出力から

controller.model.value

controller.model.value

controller.model.value

属性「ng-model」では表示されますが、UIに表示される実際のテキストは表示されません。 UIに表示されているテキストを入手するにはどうすればよいかアドバイスしてください。

予想されるテキスト:

ウェズリー

チョート

答えて

1

あなたは属性としてng-modelを使用していると、それだけでは、コントローラからモデル値を取得し使用していますこの値をinputに設定します。このため、実際の値ではなくng-modelプロパティを取得しています。これは:)助けだから、ありがとう):

List<WebElement> values = driver.findElements(By.xpath("//input[@ng-model='controller.model.value']")); 
for(WebElement el : values) 
{ 
    String theTextIWant = el.getAttribute("value"); 
    System.out.println(theTextIWant); 
} 

それが役に立てば幸い... :)

+0

エクセレント - は:

は実際にinput要素はvalue属性にその値が含まれている、だからあなたは以下のように試してみてください非常に:)このためにハッピー:) –

関連する問題