下拉框与Selenium与span-Dropdownbox

问题描述 投票:1回答:2

我有一个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”类

c# selenium dropbox
2个回答
0
投票

我认为Select只适用于dropdown中存在的option元素,但如果该元素存在于divspan内,那么Select类在某些情况下不起作用,所以建议你使用差异方式来选择元素你可以做一件事

  1. 首先单击下拉列表。
  2. 如果下拉值是唯一的,那么你可以使用它.. driver.FindElement(By.Name("dropdownvalue")).click(); //This is an Java syntax

在此之后你可以点击元素或者你可以使用sendKeys(),你需要input必须在下拉源中预设试试让我们知道..


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();

这是我的错误代码:附加信息:没有这样的元素:无法找到元素:....

© www.soinside.com 2019 - 2024. All rights reserved.