Java 在SeleniumWebDriver中,如何处理这种包含复选框的多选下拉列表

Java 在SeleniumWebDriver中,如何处理这种包含复选框的多选下拉列表,java,javascript,jquery,selenium,selenium-webdriver,Java,Javascript,Jquery,Selenium,Selenium Webdriver,我有一个下拉列表,如下面的快照所示 我需要通过单击与名称对应的复选框来处理multiselect。 我使用的是数据驱动的框架。我正在从excel中获取数据。 现在我已经编写了代码,单击下拉列表中的箭头,然后单击相应的复选框。我需要一个更好的解决方案来处理这样的多重选择 1)单击下拉列表上的箭头,下拉列表将打开 2) 将整个下拉列表放入Webelement 3) 在上面的WebElement下创建一个WebElement列表,其中标记名等于“tr”/“li”(取决于您的html代码)。现在,此列

我有一个下拉列表,如下面的快照所示

我需要通过单击与名称对应的复选框来处理multiselect。 我使用的是数据驱动的框架。我正在从excel中获取数据。 现在我已经编写了代码,单击下拉列表中的箭头,然后单击相应的复选框。我需要一个更好的解决方案来处理这样的多重选择

1)单击下拉列表上的箭头,下拉列表将打开

2) 将整个下拉列表放入Webelement

3) 在上面的WebElement下创建一个WebElement列表,其中标记名等于“tr”/“li”(取决于您的html代码)。现在,此列表包含下拉列表的所有多选项

4) 获取上述WebElement列表中每个WebElement的文本

5) 从Excel中读取数据

6) 如果第(4)点和第(5)点的数据相等,请使用XPATH单击相应的复选框

如果您需要进一步解释,请张贴下拉列表的来源。 或
给出任何具有相同类型下拉列表的网址。

做了一些研究后,我将假设这个多选下拉列表是这个jQuery插件提供的:

您可以在这里找到一个可以检查元素的示例:

每个复选框都可以使用如下xpath找到:

//标签[contains(text(),'Name of Option go Here')]//输入
打开下拉列表后,可以在代码中使用for循环,并通过xpath选择每个元素:

public void选择选项(字符串…选项){
//打开下拉列表的代码在这里
用于(字符串选项:选项){
findElement(By.xpath(“//label[包含(text(),“+option+”)]//input”))。单击();
}
}

(注意:您可能还希望将WebDriver作为此方法的参数,并使该方法成为静态的,具体取决于类的设置方式。)

告诉我们您尝试了什么(以及一些相关代码)。此外,页面的源代码比屏幕截图更有帮助。(但我也会保留截图)嗨。。。我有一些例子。。希望您能找到解决方案…您至少应该在单击下拉列表后包含html的外观。另外,请告诉我您正在处理的html代码是否与我找到的jQuery插件示例有显著差异,以便我可以更改我的答案。