我有一个下拉框,看起来像这样: Dropdown-Box
我需要测试此下拉菜单并使用以下代码:
IWebElement classes = driver.FindElement(By.CssSelector("span#select2-ctl00_ctl00_BaseRightContent_MainRightContent_EditMachineDetails_MachineClassList-container"));
SelectElement selectClass = new SelectElement(classes);
selectClass.SelectByText(Parameters.GivenClass);
有人知道如何处理此错误: 元素应已选择但为跨度
因为新的硒不再提供“选择”级
答案 0 :(得分:0)
我认为Select
仅适用于dropdown
中存在的option
元素,但是如果该元素存在于div
或span
中,则{ {1}}类在某些情况下不起作用,因此建议您使用差异方式选择可以做一件事的元素
如果下拉值是唯一的,那么您可以使用此值。
Select
此后,您可以单击元素,也可以使用driver.FindElement(By.Name("dropdownvalue")).click(); //This is an Java syntax
,因为您需要sendKeys()
必须在下拉菜单的源中预设
尝试让我们知道。
答案 1 :(得分:0)
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();
这是我的错误代码: 附加信息:无此类元素:无法找到元素:....