2013-10-11 7 views
1

Selenium을 사용하기 시작했을 때 숨겨진 요소에 대해 (hover, click..etc) 작업을 수행하는 것이 어려웠다. 숨겨진 요소는 다른 요소에있을 때만 표시됩니다. 그래서 이것이 다른 사람들에게 도움이되기를 바랍니다. 다음과 같은 방법을 사용할 수 있습니다.Hell and Selenium WebDriver로 숨겨진 요소 클릭

예를 들어, upvote에이 페이지의 의견을 표시하려면 위쪽 화살표가 보이도록 문맥 (예 : 의견)에 마우스를 가져 가야합니다. 그럼 나는 그것을 클릭해야합니다. 그러나 javascriptExcecuter을 사용하면이 단계를 한 번에 실행할 수 있습니다.

답변

1
//this can be used even if the element is not visible 
//if you want to hover over the element, replace click() with hover() 
((JavascriptExecutor)driver).executeScript("$('element_selector').click();"); 

OR 

you can use Actions class rather than using the Keyboard or Mouse directly. 
It implements the builder pattern: Builds a CompositeAction containing all actions specified by method calls 

More info on Action class can be found here.

+2

은'Keyboard','Mouse'와'TouchScreen' 모든 마지막 패치 WebDriver에서 사용되지 않으며 제거되었습니다 http://code.google.com/p/selenium/source/browse/java/CHANGELOG –

+0

나는 사용자가 뭔가 숨겨진 요소를 숨겨야한다는 사용자의 이야기를 결코 상상할 수 없다. 그것은 터무니 없지만 재미있다 : P – sircapsalot

+0

내가 실제로 언급 한 시나리오에서는 2 요소를 사용하려면 사용자가 한 요소 위로 마우스를 가져 가면 다른 요소가 표시됩니다. 즉, 첫 번째 요소가 작동해야 볼 수 있어야합니다. – Amith

관련 문제