Selenium webdriver Selenium WebDriver与材质UI选择字段有关的问题(下拉列表)
您好,我需要从材质UI库访问“选择字段”组件。我使用的是传统的方法,但正如预期的那样,由于该库生成div元素而不是select元素,因此抛出了一个错误。 请了解如何使用此组件选择元素 网站网址: 错误:“org.openqa.selenium.support.ui.UnexpectedTagNameException:元素应为“select”,但为“div” 我使用的代码如下所示: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;
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元素并分别处理,换句话说,您需要单击它以展开,然后再单击所需的元素进行选择它