无法选择出生日期的月份。
我正在使用的代码是:
driver.findElement(By.xpath(".//*[@id = 'BirthMonth']/div")).click();
Thread.sleep(3000);
WebElement months = driver.findElement(By.xpath(".//[@id='BirthMonth']/div[2]/div[@id=':1']"));
Thread.sleep(2000);
months.click();
我也尝试使用DropDownList案例。但是无法设置任何月份。
请告诉我解决方案。
答案 0 :(得分:1)
您可以使用键盘事件替换鼠标。
WebElement birthMonth = driver.findElement(By.id("BirthMonth"));
birthMonth.click();
Actions action = new Actions(driver);
action.sendKeys(Keys.DOWN).sendKeys(Keys.ENTER).perform();
答案 1 :(得分:1)
我们可以直接使用sendKeys
:
driver.findElement(By.xpath(".//*[@id='BirthMonth']/div[1]")).sendKeys("July");
答案 2 :(得分:0)
你可以把它包装成一个函数
public void selectBirthMonth(int monthIndex)
{
driver.findElement(By.cssSelector("#BirthMonth > div")).click();
driver.findElements(By.cssSelector("#BirthMonth > div.goog-menu > div.goog-menuitem")).get(monthIndex - 1).click();
}
然后将其称为
selectBirthMonth(9); // 1 = January
答案 3 :(得分:0)
WebElement month = wd.findElement(By.xpath("//[@id=\"BirthMonth\"]/div[1]"));
month.click();
Thread.sleep(3000);
//wd.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
//fetch months from the dropdown and store it in a list
List<WebElement> month_dropdown = wd.findElements(By.xpath("//[@id=\"BirthMonth\"]/div[2]/div/div"));
//iterate the list and get the expected month
for (WebElement month_ele:month_dropdown){
String expected_month = month_ele.getAttribute("innerHTML");
// Break the loop if match found
if(expected_month.equalsIgnoreCase("August")){
month_ele.click();
break;
}
}
答案 4 :(得分:0)
它不是下拉值,您必须单击下拉箭头,然后单击您必须从脚本传递的任何值。
代码如下:
System.setProperty("webdriver.chrome.driver", "E:/software and tools/chromedriver_win32/chromedriver.exe");
WebDriver driver= new ChromeDriver();
//FirefoxDriver driver= new FirefoxDriver();
driver.manage().window().maximize();
driver.get("https://accounts.google.com/SignUp");
Thread.sleep(5000);
driver.findElement(By.xpath(".//*[@id='BirthMonth']/div[1]/div[2]")).click();
driver.findElement(By.xpath(".//*[@id=':7']/div")).click();
这是Birthmonth的可行代码
请在下面找到相同类型问题的链接
Not able to select the value from drop down list by using Select method in Selenium