2013-12-23 6 views
0

다음 코드에서 하위 메뉴 (coordinates2)를 클릭하고 싶습니다. WebElement를 사용하여 이러한 메소드를 시도했습니다.하지만 작동하지 않습니다. 메뉴가 funtion.Pls 위에 마우스로 있습니다. 이 문제를 도와주세요.셀레늄에서 mouseMove를 사용하여 하위 메뉴를 클릭하는 방법

Point coordinates = driver.findElement(By.xpath("html/body/div[3]/div[1]")).getLocation(); 
    Point coordinates1 = driver.findElement(By.xpath("html/body/div[4]/div[1]")).getLocation(); 
    Point coordinates2 = driver.findElement(By.xpath("html/body/div[5]/div[1]")).getLocation(); 
    Robot robot = new Robot(); 
    robot.mouseMove(coordinates.getX()+3,coordinates.getY()+150); 
    robot.mouseMove(coordinates1.getX()+50,coordinates1.getY()+240); 
    driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); 
    robot.mouseMove(coordinates2.getX()+200,coordinates2.getY()+240); 

아래는 Html 코드입니다.

<body marginwidth="0" marginheight="0" bgcolor="" onload="dyninit();init();" topmargin="0" leftmargin="0"> 
<div id="transboxdiv" class="transbox"> 
<iframe id="disablePageframe" scrolling="no" style="z-index: 150;position:absolute;display:none;background-color:#ffffcc;border: 0 solid black; allowtranaparency:true"/> 
<div id="disablePage" class="options" border="0" style="z-index:150; font-family:'Microsoft Sans Serif';font-size:13px;display:none;position:absolute;text-align:center;"/> 

<div style="position: absolute; visibility: visible; background-color: rgb(255, 255, 255); width: 617px; height: 20px; font-family: Verdana,Arial,Helvetica,sans-serif; font-weight: normal; font-style: normal; font-size: 8pt; z-index: 101; top: 64px; left: 0px;"> 
<div style="position: absolute; visibility: inherit; overflow: hidden; cursor: default; color: rgb(255, 255, 255); background-color: rgb(25, 63, 148); text-align: left; width: 65px; height: 16px; padding-left: 0px; padding-top: 2px; left: 1px; top: 1px;">Masters</div> 
</div> 

<div style="position: absolute; visibility: visible; background-color: rgb(255, 255, 255); width: 142px; height: 236px; font-family: Verdana,Arial,Helvetica,sans-serif; font-weight: normal; font-style: normal; font-size: 8pt; z-index: 102; top: 84px; left: 0px;"> 
<div style="position: absolute; visibility: inherit; overflow: hidden; cursor: default; color: rgb(255, 255, 255); background-color: rgb(25, 63, 148); text-align: left; width: 140px; height: 16px; padding-left: 0px; padding-top: 2px; left: 1px; top: 1px;">Material Group</div> 
</div> 

<div style="position: absolute; visibility: visible; background-color: rgb(255, 255, 255); width: 162px; height: 56px; font-family: Verdana,Arial,Helvetica,sans-serif; font-weight: normal; font-style: normal; font-size: 8pt; z-index: 103; top: 85.8px; left: 127px;"> 
<div style="position: absolute; visibility: inherit; overflow: hidden; cursor: default; color: rgb(255, 255, 255); background-color: rgb(25, 63, 148); text-align: left; width: 160px; height: 16px; padding-left: 0px; padding-top: 2px; left: 1px; top: 1px;">Material Group-Add</div> 
</div> 
+0

html 코드를 제공 할 수 있습니까? – Amith

답변

0

하위 메뉴를 클릭하는 것은 쉽습니다. 메뉴를 클릭하고 내용이 표시되면 페이지 DOM이 변경되어 메뉴 내용을로드 할 수 있습니다. 이 시점에서 페이지 소스의 요소를보고 Selenium getElements (By) 메소드를 사용하여 목록을 반복 할 수 있어야합니다.

+0

작동하지 않습니다. 다른 제안 사항이 있습니다. – Tammy

+0

Etsy.com 검색 페이지에 대한 예를 여기에 표시합니다. https://github.com/djangofan/selenium-gradle-example/blob/master/etsy/src/main/java/qa/webdriver/util/EtsySearchPage. java – djangofan

+0

Webelement도 사용해 보았습니다.하지만 아무런 변화가 없습니다. 제안 사항이 있습니까? – Tammy

관련 문제