如何使用Selenium C#在列表框中选择1个以上的项目?

时间:2018-07-03 05:26:20

标签: c# selenium selenium-webdriver

--config = mkl  #If MKL-DNN installed its linking at compile time and generating fat binary. 

    linux-vdso.so.1 =>  (0x00007fff3abf5000)
>>>>libmklml_intel.so => /usr/local/lib/libmklml_intel.so (0x00007efc2113e000)  
    libiomp5.so => /usr/local/lib/libiomp5.so (0x00007efc20d9a000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007efc20b96000)
    libm.so.6 => /lib64/libm.so.6 (0x00007efc20894000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007efc20678000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007efc202f3000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007efc200dd000)
    libc.so.6 => /lib64/libc.so.6 (0x00007efc1fd19000)
    /lib64/ld-linux-x86-64.so.2 (0x00007efc2b257000)

我对使用硒C#的列表框有问题。我需要选择一个以上的项目(列表中的选项)。是否有可能选择两个项目(第二个是ctrl)?

请多多帮助。到目前为止,我的代码从列表框中选择了单个项目。

2 个答案:

答案 0 :(得分:1)

如果您的列表框支持多选,则以下代码将选择多个值。

SelectElement Select = new SelectElement(driver.FindElement(By.Id("ddlCUcardNo")));
Select.SelectByIndex(2);
Select.SelectByIndex(3);
Select.SelectByIndex(4);

这将选择索引为2、3、4的项目,并确保您的项目大于4。 您可以通过以下代码检查列表框是否为多选。

SelectElement Select = new SelectElement(driver.FindElement(By.Id("ddlCUcardNo")));
if(Select.IsMutiple)
  console.log("list box is multi select");

答案 1 :(得分:0)

您需要做的就是对多个元素逐一触发选择命令。

SelectElement element= new SelectElement(driver.FindElement(By.Id(element_ID)));
element.SelectByIndex(index);
element.SelectByIndex(index);

// Or can be used as
element.SelectByText(text);
element.SelectByText(text);

// Or can be used as
element.SelectByValue(value);
element.SelectByValue(value);