Java 如何选择jquery无序下拉列表SeleniumWebDriver

Java 如何选择jquery无序下拉列表SeleniumWebDriver,java,jquery,selenium-webdriver,drop-down-menu,jquery-select2,Java,Jquery,Selenium Webdriver,Drop Down Menu,Jquery Select2,我是使用Java的新selenium webdriver。我能够编写java代码来选择下拉列表,如果它有正常的选择类,比如:- new Select(driver.findElement(By.id("someid"))).selectByValue("1")); 但下面的代码已经从jquery中选择了select2类。尝试了多种选择。我可以选择显示下拉列表,从那时起,我不能选择苹果或橙色,或选择葡萄 有人能帮我从这种下拉列表中选择苹果吗?任何线索或代码都非常感谢 这就是代码的样子 苹

我是使用Java的新selenium webdriver。我能够编写java代码来选择下拉列表,如果它有正常的选择类,比如:-

new Select(driver.findElement(By.id("someid"))).selectByValue("1"));
但下面的代码已经从jquery中选择了select2类。尝试了多种选择。我可以选择显示下拉列表,从那时起,我不能选择苹果或橙色,或选择葡萄

有人能帮我从这种下拉列表中选择苹果吗?任何线索或代码都非常感谢

这就是代码的样子


  • 苹果
  • 橙色
Select()
类仅适用于
标记元素。因此,您不能在此处使用
Select()
class。您应该尝试以下操作:-

WebDriverWait wait = new WebDriverWait(driver, 10);

//First click on dropdown to show options 
WebElement dropdown = wait.until(ExpectedConditions.presenceOfElementLocated(By.id("select2-drop")));
dropdown.click();

//Now find desired option and click 
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(".//li[normalize-space(.) = 'Apples']"))).click();

工作很有魅力。非常感谢。!!你能解释一下这部分代码吗。只是想了解更多,如果是基本的,我很抱歉。。。“//li[规范化空间(.)-这个规范化空间是做什么的?为什么有点?它只是一个xpath函数,用于避免元素的文本内容出现额外的空白,而点意味着它只匹配任何元素中的确切文本内容,而不管desire元素中存在多少其他元素,有关更多详细信息,请点击这个链接@coolgokul了解更多信息关于点,谢谢