Estoy usando Selenium para calificar algún video.

La fuente de la página para la calificación es:

<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 );" />

Estoy dando los parámetros en el código para Selenium de esta manera:

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

Está haciendo el proceso y dando la calificación también, ¡pero solo otorga 1 estrella por cada calificación que hago!

La calificación es de 5 estrellas y cuando se realiza la mouseover en la imagen de calificación, se obtiene la /images/largeRating1.png; /images/largeRating2.png; /images/largeRating3.png;, etc.

Cada imagen contiene el número de estrellas.

De forma predeterminada, como se mencionó anteriormente, es <img src="/images/largeRating0.png" ...

¿Existe algún proceso para acceder a Javascript para obtener los resultados deseados?

4
Aspirant 31 mar. 2012 a las 16:36

1 respuesta

La mejor respuesta

Si lo entiendo correctamente, ¿debe presionar el botón del mouse y moverlo? Si ese es el caso, entonces esto debería ser de ayuda:

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

... o alguna combinación de selenium.mouseOver() y selenium.mouseDownAt().

De lo contrario, por supuesto, puede invocar el javascript usted mismo, solo necesita comprender qué argumentos pasarle. Usar

selenium.getEval("rEngine.mouseMove(dontknowwhat, window.document.getElementById('ratingImage'));");
1
Petr Janeček 3 abr. 2012 a las 02:55
1
¡¡Hola, gracias @Slanec por el código !! ¡¡Necesito realizar selenium.ClickAt("id=ratingImage","50"); para obtener el resultado exacto de la calificación !! de todos modos, su código me ayudó a pensar en la ubicación para hacer clic y ahora funciona bien :)
 – 
Aspirant
3 abr. 2012 a las 09:33
¡Oye, estoy usando selenio para almacenar en búfer una canción que hace un recuento de cada reproducción que estoy reproduciendo! ¡¡Pero aquí el problema es que usar selenio funciona bien para reproducir la canción !! ¡¡Pero no está incrementando la cuenta cada vez !! a pesar de que lo hago de 10 a 20 veces, el recuento aumenta por solo 1 !! Así que creo que tengo que rotar el proxy para hacer el incremento en el recuento, por lo tanto, ¿me pueden sugerir alguna idea con respecto a la configuración del proxy en selenio que no sea System.setProperty("http:proxyHost","111.11.11.111"); and System.setProperty("http:proxyPort","1111"); porque no está funcionando? ¿Puedes ayudarme? Gracias..
 – 
Aspirant
3 abr. 2012 a las 11:35