使用selenium创建Gmail帐户

时间:2015-11-04 16:45:03

标签: java selenium automation automated-tests

无法选择出生日期的月份。

我正在使用的代码是:

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案例。但是无法设置任何月份。

请告诉我解决方案。

5 个答案:

答案 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