2015-06-11 3 views
0

я не может нажать на подменят .. пытались с различным XPATH/ид .....Селен - подменят нажмите не работает

ниже HTML-теги, Главное меню является презентацией (отмечено красной стрелка) и подменю находятся под div.

не могли бы вы сообщить мне, как я могу написать xpath для этого. Я хотел щелкнуть гипотетическим в подменю.

здесь основной тег меню находится в нижней части div (подменю).

также прилагается селен код. Пожалуйста, помогите мне ....

<div id="presentations" class="ToolbarSubMenu" align="left" родитель = "presentations_parent"> <a id="hypothetical" class="ToolbarMenu" href="">Hypothetical</a><br/> </div> <a id="presentations_parent" class="ToolbarMenu" href="">Presentations</a>

@Test 
public void hypothetical() 
{ 

    WebElement ic = driver.findElement(By.id("presentations")); 
    Actions act = new Actions(driver); 
// act.moveToElement(ic).click().build().perform(); 
    //act.moveToElement(ic).doubleClick().build().perform(); 
act.moveToElement(ic).clickAndHold().release().build().perform(); 
//ic.click(); 
    //driver.switchTo().window(myWindowHandle); 

// driver.findElement(By.linkText("Hypothetical")).click(); 
// driver.findElement(By.xpath("//div[2][@id='presentations']/a[1]")).click(); 

//Actions act = new Actions(driver); 
    try { 
     Thread.sleep(3000); 
    } catch (InterruptedException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

// WebElement hyp=driver.findElement(By.partialLinkText("Hypothetical")); 

WebElement hyp=driver.findElement(By.id("//div[@id='presentations']/a[1]")); 
//act.moveToElement(hyp).click().build().perform(); 


hyp.click(); 

ответ

0
driver.findElement(By.id("presentations")).click(); 
WebElement hyp = driver.findElement(By.id("hypothetical")); 
hyp.click(); 
+0

я пытался с By.id варианты, но не успех. Главное меню «Презентации» находится вне «div». – user2724926

+0

Я только что отредактировал свой ответ. Попробуйте сейчас. –

+1

Хотя этот ответ, вероятно, правильный и полезный, рекомендуется включать некоторое объяснение вместе с ним, чтобы объяснить, как оно помогает решить проблему. Это становится особенно полезным в будущем, если есть изменения (возможно, не связанные), которые заставляют его перестать работать, и пользователи должны понимать, как он работал. –

0

Использование ниже код:

//Click on main menu that will opens the sub Menu list 
WebElement ic = driver.findElement(By.id("presentations")); 

ic.click(); 

Если ваше требование нажать на каждый отдельный элемент подменю, затем используйте ниже код: нажмите для Гипотетический является:

ic.findElement(By.id("hypothetical")).click(); 

нажмите для профиля является:

ic.findElement(By.id("profile")).click(); 

    (Or) 

Вы также можете получить все элементы SubMenu в то время, как это:

//Get all the sub menu list. 
List<WebElement> list = ic.findElements(By.tagName("a")); 
for(int i=0;i < list.size; i++){ 
    WebElement subMenuElement = list.get(i); 
    subMenuElement.click(); 
} 
+0

Привет, Saritha, я пробовал с вашим кодом .. все еще не подменю не кликабельны. Я не понимаю, что мне нужно делать здесь. Здесь подменю находится под «div» его не нормальное меню ... – user2724926

+0

вы можете разместить свой URL .. ?? –

+0

Нет, его несовместимый URL. Я могу поделиться img для html – user2724926

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