2012-03-31 3 views
4

Я использую Selenium, чтобы дать оценку некоторому видео.selenium accessing mouseMove js function

Источник страницы для рейтинга:

<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, как это:

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

Это делает процесс и дает рейтинг тоже, но это только давая 1 звезду за каждый мой рейтинг!

Оценка 5 звезд и когда mouseover делается на изображение рейтинга, это дает /images/largeRating1.png; /images/largeRating2.png; /images/largeRating3.png; и т.д ..

Каждое изображение содержит количество звезд.

По умолчанию, как упомянуто выше этого является <img src="/images/largeRating0.png" ...

Есть ли способ доступа Javascript для получения желаемых результатов?

ответ

1

Если я правильно понял, вам нужно нажать кнопку мыши и переместить его? Если это так, то это должно быть полезным:

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

... или комбинацию selenium.mouseOver() и selenium.mouseDownAt().

В противном случае вы можете, конечно, вызвать javascript самостоятельно, вам просто нужно понять, какие аргументы передать ему. Использовать

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

Привет, спасибо @Slanec за код! Мне нужно выполнить 'selenium.ClickAt (" id = ratingImage "," 50 ");' получить точный результат рейтинга! во всяком случае, ваш код помог мне подумать о месте, на которое нужно щелкнуть, и теперь его рабочий тон :) – Aspirant

+0

Эй, я использую селен для буферизации песни, которая подсчитывает каждую игру, которую я играю! , но здесь проблема заключается в том, что selenium отлично работает, чтобы воспроизвести песню !! но он не увеличивает счет каждый раз! , хотя я делаю это в 10-20 раз, счет увеличивается только на 1! Я думаю, что мне нужно повернуть прокси-сервер, чтобы сделать прирост в счете, поэтому вы можете предложить мне какие-либо идеи относительно прокси-конфигурации в селене, кроме 'System.setProperty (« http: proxyHost »,« 111.11.11.111 »); и System.setProperty («http: proxyPort», «1111»); ' , потому что он не работает! Можете ли вы помочь мне! Спасибо .. – Aspirant