Selenium webdriver Selenium WebDriver与材质UI选择字段有关的问题(下拉列表)

Selenium webdriver Selenium WebDriver与材质UI选择字段有关的问题(下拉列表),selenium-webdriver,drop-down-menu,material-design,Selenium Webdriver,Drop Down Menu,Material Design,您好,我需要从材质UI库访问“选择字段”组件。我使用的是传统的方法,但正如预期的那样,由于该库生成div元素而不是select元素,因此抛出了一个错误。 请了解如何使用此组件选择元素 网站网址: 错误:“org.openqa.selenium.support.ui.UnexpectedTagNameException:元素应为“select”,但为“div” 我使用的代码如下所示: public class MaterialUITest { private WebDriver driver;

您好,我需要从材质UI库访问“选择字段”组件。我使用的是传统的方法,但正如预期的那样,由于该库生成div元素而不是select元素,因此抛出了一个错误。 请了解如何使用此组件选择元素

网站网址:

错误:“org.openqa.selenium.support.ui.UnexpectedTagNameException:元素应为“select”,但为“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());
}
}

据我所知,您遇到的问题与材料本身无关,它更多地与select的自定义实现有关,即,这不是select,您应该将此“select”视为常规web元素并分别处理,换句话说,您需要单击它以展开,然后再单击所需的元素进行选择它