如何使用SeleniumWeb驱动程序和java从下拉菜单中选择元素?
如何使用SeleniumWeb驱动程序和java从下拉菜单中选择元素?,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,下班 卧铺 驱动 上班 如果您熟悉HTML,您就会知道下拉菜单通常是通过Select标记实现的。Selenium WebDriver提供了一个类来处理此类选择 然而,使用jQuery引导和其他技术开发的较新网站使用span、divs、li和其他标记以不同的方式实现这一点。您的代码也是以这种方式开发的。因此,我们必须遵循以下方法。通常,下拉列表和下拉列表值位于DOM的不同部分。我们必须通过检查页面源代码来正确识别它 单击下拉框并等待下拉值出现 WebElement dropDown = drive
下班
卧铺
驱动
上班
如果您熟悉HTML,您就会知道下拉菜单通常是通过Select
标记实现的。Selenium WebDriver提供了一个类来处理此类选择
然而,使用jQuery引导和其他技术开发的较新网站使用span
、divs
、li
和其他标记以不同的方式实现这一点。您的代码也是以这种方式开发的。因此,我们必须遵循以下方法。通常,下拉列表和下拉列表值位于DOM的不同部分。我们必须通过检查页面源代码来正确识别它
WebElement dropDown = driver.findElement(By.className("select-dropdown-icon"));
dropDown.click();
WebElement dropDownValueOffDuty = driver.findElement(By.xpath("//kt-select-option[@value='off_duty']/div"));
dropDownValueOffDuty.click();
我希望这对您有所帮助。给定的html仅显示单词driving。没有任何下拉菜单。你能分享更多关于HTML的细节吗。还有,问题到底出在哪里?我已经编辑了HTML,你能看一下吗。我不熟悉HTML和selenium,因此在访问主下拉菜单时遇到问题,除了选择“下班”、“睡眠者”和“上班”中的任何一个选项外,我还想选择以下任何选项。@mk08您的编辑中缺少一些内容。你可以改为共享URL吗?请检查你编辑的代码。HTML代码从来都不是这样的。你现在可以检查代码@mk08吗
WebElement dropDownValueOffDuty = driver.findElement(By.xpath("//kt-select-option[@value='off_duty']/div"));
dropDownValueOffDuty.click();