2017-08-24 21 views
0

メインアプリケーションにログインしたら、私はそれが州名を入力してenter function.itを入力したい、それは理想的にはドロップダウンですが、私はテキスト "コロラド"を入力してこれを達成したいと思います。テキストボックスはドロップダウンの下にあります。私の質問は、Sleniumテキストボックスにテキストを入力してEnterキーを押す方法です。Selenium Web Driver、Selenium texboxにテキストを入力してEnterキーを押す方法

次のようにテキストボックスのHTMLがあり、

<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" class="select2-input" role="combobox" aria-expanded="true" aria-autocomplete="list" aria-owns="select2-results-1" id="s2id_autogen1_search" placeholder="" aria-activedescendant="select2-result-label-11"> 

次のように私の現在のコードは次のとおりです。 -

driver.findElement(By.cssSelector("#s2id_regionSelect > a > span.select2-arrow")).click(); 
      driver.findElement(By.cssSelector("#s2id_autogen1_search")).sendKeys("Colorado"); 
      driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
      WebElement textbox = driver.findElement(By.cssSelector("#s2id_autogen1_search")); 
      textbox.sendKeys(Keys.ENTER); 

テキストボックスにテキストを入力することができますが、入力してヒットしません。私はコロラド州を選択し、別のタブをクリックする必要があります。

+0

URLを教えてください。 – Kapil

+1

ページはEnterキーをサポートしていますか?手動でページにアクセスして同じ手順を実行してからEnterキーを押すと、期待どおりの動作をしますか? –

+0

はい私は手動でcolorado入力ボックスを入力してEnterキーを押すと、私は期待どおり同じ動作をします。誰かが私にActionクラスを使用するように指示しましたが、動作しませんでした。 Enter操作を実行できるjavaクラスのロボットクラスはありますか? – user3280992

答えて

0

私のC#オートメーションコードでは、アクション(OpenQA.Selenium.Interactions)を使用して入力フィールドに入力します。これを行うには

new Actions(driver).SendKeys(Keys.Enter).Perform();

0

一つの方法は、単に、例えば、テキストに改行文字(\n)を送信することです

driver.findElement(...).sendKeys("Colorado\n"); 
+0

これは、テキストボックスにコロラド州を送った後にenterを押すでしょうか? – user3280992

+0

これは実際にページがどのように設定されているかによって異なります。私はそれを試して、あなたのために動作するかどうかを確認します。私は過去にそれを使用したときに機能しました。 – JeffC

+0

これは私が現在使ってきたことですが、それは仕事をしませんでした。 HTMLタグのDOM画像を更新しますか? – user3280992

関連する問題