2016-06-24 9 views
1

두 요소에 마우스를 올린 후 클릭해야하는 요소가 있습니다. 즉 요소 1에서 마우스 오버 -> 요소 2에서 마우스 오버 -> 요소 3을 클릭합니다. 이것은 나를 위해 작동하지 않습니다Selenium moveToElement를 두 번 클릭 한 다음 요소가 작동하지 않음을 나타냅니다.

Actions actions = new Actions(driver); 
actions.moveToElement(billingBtn).build().perform(); 
actions.moveToElement(billingconfigurationBtn).build().perform(); 
actions.moveToElement(billingcyclemanagementBtn).click().build().perform(); 

:

다음은 내 코드입니다. 이렇게 빨리 실행되면 첫 번째 단계 만 수행 할 수 있습니다.

도와주세요!

+0

'.build(). perform()'을 호출하기 전에 전체'Action' 체인을 만들 수 있습니까? 예 : 'actions.moveToElement (billingBtn) .moveToElement (...). moveToElement (...).(). build(). perform();' – RemcoW

+0

@RemcoW : 시도했다. 불운. –

답변

0

요소 2의 마우스 오버 이벤트가 요소 1에 마우스를 올린 후 표시되는 일부 요소의 모양에 따라 달라지는 경우 요소 1 및 다음 명령문에서 마우스 오버 조치 요소 2의 요소 위에 마우스를 놓으면 검색하지 못할 수 있습니다. 마우스는 요소 1 공중 선회 한 경우 또는 1
위에 마우스 요소 2
요소에 가져가 후 나타나는 몇 가지 요소를 기다릴 Webdriver 1

위에 마우스 요소를 할 수있는 빠른

시도를 실행하지 Webdriver는 요소 2에 마우스를 올려 놓은 후 나타나는 일부 요소를 기다립니다.
원하는 요소를 클릭하십시오.

+0

새로운 WebDriverWait (드라이버, 30) .until (ExpectedConditions.visibilityOf (element)); 모든 3 요소. 그러나 운이 없다. –

+0

마우스가 요소 위로 마우스를 가져간 후에 요소가 일부 마우스 오버 텍스트를 표시합니까? 표시되면 호버 텍스트가 표시 될 때까지 기다리는 것이 좋습니다. 마우스가 원하는 요소 위로 이동했음을 확인합니다 – manishgdev

+0

예. 좋은 생각. 그러나 모든 요소에 마우스를 올리면 텍스트가 표시되지 않습니다. –