2015-06-03 2 views
-1

В настоящее время я делаю селен. При этом я застрял в одном из Xpath, который предназначен для страницы создания учетной записи Gmail, для опции выбора родительского месяца. Я дал Xpath, как показано ниже, который хорошо выглядит в Firepath, а также в консоли.Selenium WebElement Selection

.//span[@id='BirthMonth']//div[2]//div//div 

Однако в Java-коде оно не работает; вместо этого программа подвешивается.

Код Jave ниже для вышеуказанного Xpath. Пожалуйста, любой предлагаю мне правильный Xpath. Или, пожалуйста, дайте мне знать, если что-то не так в моем коде или Xpath.

List<WebElement> gElements = Driver.findElements(By.xpath(".//span[@id='BirthMonth']//div[2]//div//div")); 

ответ

0

Вы пытаетесь нажать DIV, который имеет дисплей: нет property.See код ниже:

driver.findElement(By.xpath("//span[@id='BirthMonth']/div[@title='Birthday']")).click(); 
driver.findElement(By.xpath("//span[@id='BirthMonth']/div[2]/div[1]/div")).click(); 

Когда первый DIV внутри диапазона щелкают затем Div [2], и отображаются все его дети.

0

Использования ниже строк будет отображаться список всех врожденных месяцев:

driver.findElement(By.xpath("//span[@id='BirthMonth']/div")).click(); 
List<WebElement> listOfMonths= driver.findElements(By 
      .xpath("//div[@class='goog-menu goog-menu-vertical']")); 
System.out.println("Total months: " + listOfMonths.size()); 
for (int i = 0; i < listOfMonths.size(); i++) { 
    System.out.println("MonthName: " + listOfMonths.get(i).getText()); 
} 
+0

Hmm.Thanks .. Но самое я пытаюсь собрать все WebElements связанного с врожденным месяцем .. значит в списке я хочу собрать все 12 месяцев ... Надеюсь, что у вас это получилось. – Pradeep

+0

Я разместил код согласно вашему требованию. Я надеюсь, что это поможет вам. –

Смежные вопросы