2012-03-31 3 views
4

일부 비디오에 등급을 부여하기 위해 셀렌을 사용하고 있습니다.셀레늄 액세스 mouseMove js 함수

등급의 페이지 소스는 다음과 같습니다

<img src="/images/largeRating0.png" 
    alt="Rating" 
    title="Choose a rating then click to submit" 
    class="clickable" 
    id="ratingImage" 
    onmousemove="rEngine.mouseMove(event, this);" 
    onclick="rEngine.ratingSubmit(event, this);" /> 

이 같은 셀레늄에 대한 코드의 매개 변수를 제공하고있다 :

selenium.open(url); 
selenium.click("id=ratingImage"); 

그것은 과정을하고도 등급을주고 있지만, 그건 내가하는 모든 등급에 대해서만 1 개의 별을 제공합니다!

평가는 별 5 개입니다과 mouseover이 등급의 이미지에 완료되면, 그것은

모든 이미지는 별의 수를 포함하고 있습니다 .. /images/largeRating1.png; /images/largeRating2.png; /images/largeRating3.png; 등을 제공합니다. 기본적으로

그 위에 언급 한 바와 같이이

<img src="/images/largeRating0.png" ...이 원하는 결과를 얻기를위한 자바 스크립트에 액세스하는 모든 프로세스가 거기에있다?

답변

1

정확하게 이해한다면 마우스 버튼을 눌러 이동해야합니까? 그런 경우, 다음이 도움이 될해야합니다

selenium.dragAndDrop("id=ratingImage","+100,0"); 

... 또는 selenium.mouseOver()selenium.mouseDownAt()의 조합을.

그렇지 않으면 자바 스크립트를 직접 호출 할 수 있습니다. 전달할 인수를 이해해야합니다. 사용

selenium.getEval("rEngine.mouseMove(dontknowwhat, window.document.getElementById('ratingImage'));"); 
+1

안녕하세요, 코드에 @Slanec을 사용해주세요 !! 정확한 평가 결과를 얻으려면'selenium.ClickAt ("id = ratingImage", "50");을 수행해야합니다! 어쨌든 당신의 코드는 내가 클릭 할 위치에 대해 생각할 수있게 도와 주었고, 지금은 잘 작동합니다. – Aspirant

+0

안녕하세요, 저는 각 게임마다 카운트를 만드는 셀렌을 버퍼에 사용하고 있습니다 !! 여기 셀레늄을 사용하면 노래를 연주하는 데 문제가 없습니다. 하지만 카운트를 매번 증가시키지 않습니다 !! 비록 내가 10-20 시간 동안 그것을해도 계산은 단지 1를 위해 증가된다!! 그래서 나는 카운트 증가를 만들기 위해 프록시를 회전해야한다고 생각한다. 그러므로 System.setProperty ("http : proxyHost", "111.11.11.111") 이외의 셀레늄에서 프록시 설정과 관련된 아이디어를 제안 할 수있다. 및 System.setProperty ("http : proxyPort", "1111"); ' 때문에 작동하지 !! 내가 도와 줄 수있어 !! 감사합니다 .. – Aspirant