2017-02-07 1 views
0

Ich habe ein Szenario, in dem ich eine Seite mit KendoUI numerischen Textfeld automatisieren muss.Mit Selen zu automatisieren KendoUI numerischen Textfeld, ohne Javascript

Ich bin in der Lage, das Element mit xpath or id selector ausfindig zu machen, aber wenn Selen zur Eingabe versucht, den Wert in dem Textfeld erhält es Ausnahmen wie:

ElementNotVisibleException => wenn versucht, auf das die klicken Element.

InvalidElementStateException => wenn versucht Eingang den Wert mit Sendkeys

ich nach einer Lösung gesucht, die diese Aufgabe ExecuteJavascript interface ohne automatisieren können.

Unten ist die Probe html eines dieser Textbox:

<div class="form-group"> 
    <label for="sheet_width">Page Width<span class="ep-required-label" ng-show="sheet_maintenance_form.sheet_width.$error.required" aria-hidden="false" style="">*</span> 
    </label> 
    <span class="k-widget k-numerictextbox ng-dirty ng-valid-parse ng-touched ng-empty ng-invalid ng-invalid-required"> 
     <span class="k-numeric-wrap k-state-default"> 
      <input type="text" class="k-formatted-value ng-pristine ng-untouched ng-valid k-input" title="" tabindex="0" role="spinbutton" aria-valuemin="0" aria-valuemax="999.999" aria-disabled="false" style="display: inline-block;"> 
      <input ng-required="true" kendo-numeric-text-box="sheet_width" k-options="sheet_edit_controller.sheet_field_options" ng-model="sheet_edit_controller.sheet_config.sheet_width" name="sheet_width" id="sheet_width" class="k-input ng-dirty ng-valid-parse ng-touched ng-empty ng-invalid ng-invalid-required" data-role="numerictextbox" role="spinbutton" type="text" aria-valuemin="0" aria-valuemax="999.999" aria-disabled="false" required="required" aria-invalid="true" style="display: none;"> 
      <span class="k-select"> 
       <span unselectable="on" class="k-link k-link-increase" aria-label="Increase value" title="Increase value"> 
        <span unselectable="on" class="k-icon k-i-arrow-60-up"/> 
       </span> 
       <span unselectable="on" class="k-link k-link-decrease" aria-label="Decrease value" title="Decrease value"> 
        <span unselectable="on" class="k-icon k-i-arrow-60-down"/> 
       </span> 
      </span> 
     </span> 
    </span> 
</div> 

Kann jemand mir helfen zu diesem Thema?

Ihre Hilfe wird sehr geschätzt.

Antwort

1

Dieser arbeitete für mich den Wert im Feld von 1 zu erhöhen, aber ich schätze andere Vorschläge:

Actions actions = new Actions(Browser); 
actions.MoveToElement(
Container.FindElement(By.CssSelector("span.k-i-arrow-n"))).Click().Perform() 
+0

Dank Robert. Es funktionierte!!! Der Trick bestand darin, auf einen der Pfeilschaltflächen zu klicken, der wiederum den Status des Eingabetextfeldes ändert. – DashmeetSingh

+0

Ja, schlecht von mir beschrieben tut mir leid, aber ich bin froh, zu helfen. – Robert

Verwandte Themen