2017-01-13 32 views
0

こんにちは私はMaterial UIライブラリからSelect Fieldコンポーネントにアクセスする必要があります。私は伝統的な方法を使用していますが、このライブラリはselectではなくdiv要素を生成するため、期待どおりエラーが発生しています。 このコンポーネントを使用して要素を選択する方法を教えてください。Selenium WebDriverでMaterial UIの選択フィールド(ドロップダウンリスト)が表示される

ウェブサイトのURL:http://www.material-ui.com/#/components/select-field

エラー:「org.openqa.selenium.support.ui.UnexpectedTagNameException:要素がされているはずです "を選択し、" しかしだった "DIV"

私が使用したコードです私はあなたが抱えている問題は、材料自体に関連していない理解で、それは選択のカスタム実装に複数の関連だ

public class MaterialUITest { 

private WebDriver driver; 
By selectFieldLocator = By.xpath("//div[contains(@id,'undefined-undefined-Frequency')]/div[1]/div[2]"); 

@Before 
public void setUp() throws Exception { 
    System.setProperty("webdriver.chrome.driver", "./src/test/resources/drivers/chromedriver.exe"); 
    driver = new ChromeDriver(); 
    driver.get("http://www.material-ui.com/#/components/select-field"); 
} 
@After 
public void tearDown() throws Exception { 
} 
@Test 
public void test() { 
    WebElement selectField = driver.findElement(selectFieldLocator); 
    Select dropdown = new Select(selectField); 
    dropdown.selectByVisibleText("Weekly"); 
    WebElement option = dropdown.getFirstSelectedOption(); 
    System.out.println(option.getText()); 
} 
} 

答えて

1

、これが選択されていない、つまり、あなたは、これは通常のWeb要素として「選択」扱うべきである。従っそれをそれぞれ処理する言い換えれば、それをクリックして展開し、必要な要素をもう一度クリックして選択する必要があります。

+0

ミハイルさんありがとう、私はそれをして働いています! – karina

関連する問題