2012-03-31 10 views
4

Ich verwende Selenium, um ein Video zu bewerten.selen Zugriff auf MausMove js Funktion

Die Seite Quelle für die Bewertung ist:

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

Ich bin die Parameter in Code für Selenium wie diese geben:

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

Es tut den Prozess und gibt bei der Bewertung, aber es ist Ich gebe nur 1 Stern für jede Bewertung, die ich mache!

Die Bewertung ist für 5 Sterne und wenn die mouseover auf das Bild von Bewertung durchgeführt wird, gibt es die /images/largeRating1.png; /images/largeRating2.png; /images/largeRating3.png; etc ..

Jedes Bild die Anzahl der Sterne enthält. wie oben erwähnt

Standardmäßig ist <img src="/images/largeRating0.png" ...

Gibt es einen Prozess Javascript für den Zugriff für die gewünschten Ergebnisse zu bekommen?

Antwort

1

Wenn ich es richtig verstanden habe, müssen Sie die Maustaste drücken und verschieben? Wenn das der Fall ist, dann soll dies eine Hilfe sein:

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

... oder eine Kombination aus selenium.mouseOver() und selenium.mouseDownAt().

Andernfalls können Sie natürlich das Javascript selbst aufrufen, Sie müssen nur verstehen, welche Argumente an sie übergeben werden. Verwenden Sie

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

Hey danke @Slanec für den Code !! Ich muss 'selen.ClickAt (" id = ratingImage "," 50 ") ausführen;' um das genaue Ergebnis der Bewertung zu erhalten !! Wie auch immer, dein Code hat mir geholfen, über den Ort nachzudenken, an den ich klicke, und jetzt funktioniert es gut :) – Aspirant

+0

Hey, ich benutze Selen, um ein Lied zu puffern, das für jedes Stück zählt, das ich spiele !! aber hier ist das Problem mit Selen funktioniert gut, um das Lied zu spielen !! aber es erhöht nicht die Zählung jedes Mal !! obwohl ich es für 10-20 Mal mache, wird die Zählung für nur 1 erhöht !! SO ich denke, ich muss den Proxy drehen, um die Inkrementierung in Zählung zu machen, daher können Sie mir irgendeine Idee in Bezug auf Proxy-Konfiguration in Selen anders als 'System.setProperty (" http: proxyHost "," 111.11.11.111 ") vorschlagen; und System.setProperty ("http: proxyPort", "1111"); ' weil es nicht funktioniert !! Kannst du mir helfen !! Danke .. – Aspirant

Verwandte Themen