我有一个Dropdown-Box,看起来像这样:Dropdown-Box
我需要测试这个Dropdown-Menu并使用此代码:
IWebElement classes = driver.FindElement(By.CssSelector("span#select2-ctl00_ctl00_BaseRightContent_MainRightContent_EditMachineDetails_MachineClassList-container"));
SelectElement selectClass = new SelectElement(classes);
selectClass.SelectByText(Parameters.GivenClass);
有没有人知道如何处理这个错误:元素应该是选择但是跨度
因为新的Selenium不再提供“Select”类
我认为Select
只适用于dropdown
中存在的option
元素,但如果该元素存在于div
或span
内,那么Select
类在某些情况下不起作用,所以建议你使用差异方式来选择元素你可以做一件事
driver.FindElement(By.Name("dropdownvalue")).click(); //This is an Java syntax
在此之后你可以点击元素或者你可以使用sendKeys()
,你需要input
必须在下拉源中预设试试让我们知道..
Here you can see my Page & HTML-Content。尝试过以下事情:
IWebElement classes = driver.FindElement(By.CssSelector("span#select2-ctl00_ctl00_BaseRightContent_MainRightContent_EditMachineDetails_MachineClassList-container"));
classes.Click();
//IWebElement classclickelement = driver.FindElement(By.Name(registerLiebherrMachineParam.MachineClass));
//classclickelement.Click();
IWebElement classestextbox = driver.FindElement(By.CssSelector("input[class='select2-search__field'][role='textbox']"));
classestextbox.SendKeys(registerLiebherrMachineParam.MachineClass);
IWebElement clickgivenclass = driver.FindElement(By.CssSelector($"li[class='select2-results__option select2-results__option--highlighted'][value='{registerLiebherrMachineParam.MachineClass}']"));
clickgivenclass.Click();
这是我的错误代码:附加信息:没有这样的元素:无法找到元素:....