2016-01-09 37 views
6

私は質問が非常に簡単だと知っていますが、私は誕生月を選択したいところからドロップリストに立ち往生しています。ドロップリストから値を選択できません

私は他のウェブサイトで作業していますが、残念ながらこれを動作させることはできませんでした。

私が試した:

クリックして別のロケータを使用しました。 Actionクラスを使用してマウスを移動してクリックします。 Javaスクリプトを使用して月を選択します。

奇妙なことに、私はWebElementのテキストを取得できますが、それをクリックすることはできません。アプリケーションのURL:a link

これは、Googleでアカウントを作成するときです。

enter image description here

私は、任意の月のリストから月を選択しようとしていました。

希望の月があるまで待つと、私はTimeOutExceptionを取得しました。

それ以外は何のエラーもありません。スクリプトは常に選択を行わずに通過します。

私は質問が非常に簡単だと知っていますが、誰かが私を助けることができる場合はそれを介して取得します。

ありがとうございます。

<span id="BirthMonth" class=" form-error" aria-invalid="true"> 
<div class="goog-inline-block goog-flat-menu-button jfk-select" role="listbox" style="-moz-user-select: none;" aria-expanded="false" tabindex="0" aria-haspopup="true" aria-activedescendant=":0" title="Birthday"> 
<div class="goog-menu goog-menu-vertical" style="-moz-user-select: none; visibility: visible; left: 0px; top: -82.2333px; display: none;" role="listbox" aria-haspopup="true"> 
<div id=":1" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
<div id=":2" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
<div class="goog-menuitem-content">February</div> 
</div> 
<div id=":3" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
<div id=":4" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
<div id=":5" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
<div id=":6" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
<div id=":7" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
<div id=":8" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
<div id=":9" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
<div id=":a" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
<div id=":b" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
<div id=":c" class="goog-menuitem" role="option" style="-moz-user-select: none;"> 
</div> 
<input id="HiddenBirthMonth" type="hidden" name="BirthMonth"> 
</span> 
+0

pls関連するHTMLを質問に追加してください。 – parishodak

+0

追加されたhtmlをご覧ください。代わりに、それはポストのリンクで見つけることができます。その一般的なGmailアカウントのウェブページ。 – Atishay

答えて

2

sendkeyで試しましたか?私はそれSENDKEY使用して

driver.findElement(By.xpath(".//*[@id='BirthMonth']/div[1]")).sendKeys("april"); 

おかげ

+0

あなたの答えMuraliに感謝します。しかし残念なことに、リストからその月を見ているだけですが、それを選んではいけません。 – Atishay

+0

私はこれを試して、うまく働いています。あなたが試したコードを私に教えてください。私はちょうどその登録ページを取得し、このsendkeysを使用しました..それは月を選択しました。私はあなたがどのように試したか分かりません。コードを入力してください –

+0

public void selectMonthFromMonthList(){ birthMonthDropList.click(); wait.until(ExpectedConditions.visibilityOfAllElements(months)); driver.findElement(By.xpath( ".//*[ id = 'BirthMonth']/div [1]"))。sendKeys( "february"); } – Atishay

0

を働くことを願っています以下のコードを試してみてください。それは働かなければならない。

Select(driver.findElement(By.id("BirthMonth"))).selectByVisibleText("February"); 

場合は、まずドロップダウンリストをクリックしてください。ドロップダウンリストのすべての値を配列またはリストに格納し、リスト/配列から必要な値を選択します。

+0

こんにちはシヴァ、返信ありがとう、残念ながら私はこれをすべて試みたが、それは動作していません。リストをループするときにタグのテキストを印刷することはできますが、選択することはできません。 – Atishay

+0

上記のコードでSafariブラウザで月を選択できます。しかし、ファイアフォックスですることができません。 –

0

最初にBirthMonthをクリックしてドロップダウンを開き、希望する月をクリックすることができます。 6月の選択については下記をご覧ください。

driver.findElement(By.cssSelector("#BirthMonth > div")).click(); 
driver.findElement(By.xpath("//*[contains(text(),'June')]")).click(); 
+0

ansのおかげで。これはまた、動作しません。それは私に次のエラーを与えます:rg.openqa.selenium.WebDriverException:不明なエラー:要素はポイント(1154,524)でクリック可能ではありません。他の要素はクリックを受け取ります:

...
(セッション情報:chrome = 47.0.2526.106) (ドライバ情報:chromedriver = 2.19.346078(6f1f0cde889532d48ce8242342d0b84f94b114a1)、platform = Windows NT 6.3 x86_64)(警告:サーバーはスタックトレースを提供しませんでした情報) – Atishay

+0

@Atishayそれは動作するはずですどのブラウザを使用しましたか? –

+0

こんにちはMesut、私はクロムとFirefoxブラウザを使用しました。 – Atishay

関連する問題