2016-08-02 12 views
0

フレーム内のドロップダウン値を選択しようとしています。 This is the codewebdriverでフレーム内のドロップダウン値を選択する方法

これは、我々は、フレーム内でリンクのために書く方法ですが、私は、コードの下に試してみてくださいドロップダウン

wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("right")); 
WebElement el1 = wait.until(ExpectedConditions.elementToBeClickable(By.partialLinkText("Text"))); 
el1.click(); 
+0

画像のフレーム名が「正しく」ないため、おそらくフレームが見つかりません。それに「テキスト」との明白なリンクもないので、このコードのどれも動作しません。あなたが得たエラーは何ですか? –

答えて

-1

から値を選択することができません:

WebElement fr = driver.findElement(By.name("main_b")); 
    driver.switchTo().frame(fr); 
    WebElement dropdown = driver.findElement(By.name("field")); 
    Select sel = new Select(dropdown); 
    sel.selectByValue("<Value to be selected>"); 

また、コマンドを待って使用することができますページの読み込みに時間がかかる場合それが役に立てば幸い。

1
  • まず、正しいフレームを待つので、あなたがそこにリンク(<a>タグ)を持っていない、By.partialLinkText

  • 次の(HTMLコードに応じて、フレームの名前はmain_bです)使用できません。 By.name("field")代わり

  • 最後に、代わりにそれをクリックすると、Selectオブジェクトを取得使用してください:

Select mySelect = new Select(el1);をしてselectByVisibleTextを使用して、そのオプションのいずれかを選択し、selectByValueまたはselectByIndex方法

だから、すべて一緒に次のようになります。

wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("main_b")); 

Select mySelect = new Select(
    wait.until(
     ExpectedConditions.elementToBeClickable(
      By.name("field") 
))); 

// Select second option by visible text 
mySelect.selectByVisibleText("Bacon Anna"); 

// Same option selected by value 
mySelect.selectByValue("16344"); 

// Same option selected by index 
new Select(el1).selectByIndex(1); 
関連する問題