2017-06-28 9 views
0

テキストを入力して保存しようとしています。私のプロジェクトでは、保存ボタンがありません。保存ボタンを押すと保存されます。テキストを入力するときに私を傷つけるフィールドはほんのわずかです。Selenium Webdriver - 次のフィールドにジャンプすると、入力したテキストが消えてしまいます

注:最新バージョンのChromeを使用して数値をテキストとして渡しています。

私はページ下記を参照し、それに応じて自分のコードを更新し、その後もこの問題が解決しない:以下

Selenium send_keys doesn't work if input type="number"

  • Selenium Webdriver: Entering text into text field

  • は、私が使用したコードです、

    public void EnterValuesByIndex(String locator, String locatorValue, String text, int indexvalue) throws InterruptedException 
         { 
         WebElement element = null; 
    
         if (locator.equalsIgnoreCase("cssSelector")) { 
          element = (WebElement)driver.findElements(By.cssSelector(locatorValue)).get(indexvalue - 1); 
    
         } else if (locator.equalsIgnoreCase("xpath")) { 
          element = (WebElement)driver.findElements(By.xpath(locatorValue)).get(indexvalue - 1); 
    
         } else if (locator.equalsIgnoreCase("id")) { 
          element = (WebElement)driver.findElements(By.id(locatorValue)).get(indexvalue - 1); 
         } 
         //element.clear(); 
         element.sendKeys(text); 
         Thread.sleep(2000); 
         element.sendKeys(Keys.ENTER); 
         System.out.println("Enter key is pressed"); 
         } 
    
    文字で文字を入力することもを使用したコードの下に

    、同じ問題が、最後に

    public void EnterTextbyChar(String locator, String locatorValue, String text, int indexvalue) throws InterruptedException 
         { 
          String value = text;     
          WebElement element = null; 
    
          if (locator.equalsIgnoreCase("cssSelector")) { 
          element = (WebElement)driver.findElements(By.cssSelector(locatorValue)).get(indexvalue - 1); 
          } else if (locator.equalsIgnoreCase("xpath")) { 
           element = (WebElement)driver.findElements(By.xpath(locatorValue)).get(indexvalue - 1); 
    
          } else if (locator.equalsIgnoreCase("id")){ 
           element = (WebElement)driver.findElements(By.id(locatorValue)).get(indexvalue - 1);    } 
          element.clear(); 
          for (int i = 0; i < value.length(); i++) 
          { 
           char c = value.charAt(i); 
           String s = new StringBuilder().append(c).toString(); 
           element.sendKeys(s); 
           element.sendKeys(Keys.RETURN); 
           element.click(); 
           Thread.sleep(2000); 
           System.out.println("Return key is pressed in EnterTextByChar method"); 
           System.out.println(c); 
          } 
         } 
    
+0

あなたが直面している/実際に起こっているエラーを指定できますか? – vsbehere

+0

エラーは出ません。入力されたテキストは、次のフィールドに移動した直後に消えました。このため、必須フィールドは空白のままになり、それによってさらに進まなくなりました。 – Roja

答えて

0

たソリューションを持続します。テキストを入力した後、完璧に機能した上向きのキーを送信します。

element.sendKeys(text); 
    element.sendKeys(Keys.UP); 
関連する問題