2016-04-18 10 views
0

Я пытаюсь занять время во всплывающем окне, которое появляется только при перемещении курсора мыши на нем. Затем переместите мышь в другую точку. Я пытался с firefox и phantomjs на osx и ubuntu. Phantomjs никогда не работает, с Firefox он иногда работает, а иногда и нет, иногда movetoelement работает, movebyoffset - нет. Я попробовал функции ожидания и сна, тоже результат. Страница является содержимым ajax. Я столкнулся с той же проблемой, когда пытаюсь нажать кнопку «href = javascript». В чем проблема?Selenium: переместить мышь в элемент не работает

movetoelement=css(".content") 
action = webdriver.ActionChains(browser) 
action.move_to_element(movetoelement) 
action.perform() 
time = css('.time').text 
print time 
actionoffset = webdriver.ActionChains(browser) 
actionoffset.move_by_offset(10,10) 
actionoffset.perform() 

Для этого требуется вход в систему, поэтому я могу показать вам html. Нет проблем с моим css-контуром. Как я уже сказал, иногда это работает, иногда это не так.

> This is for the element to hover on. 
> 
> <a class="tLink event ajaxify" href=“url" 
> ajaxtarget="mainLeftContent”>contentbody</a> 
> 
> This is for the button 
> 
> <a id=“pressbutton" class="tButton large blue" href="javascript:" 
> onclick="xcoupon.fn.openPreview()" bt-xtitle="" title=“">Continue</a> 
+0

Не могли бы вы разместить URL-адрес, к которому вы обращаетесь к этой информации? – Phillip

+0

Я редактировал вопрос, вы можете видеть его. – hzleonardo

+0

Есть ли другие элементы класса 'content'? – Phillip

ответ

0

Вы пробовали целить свои действия?

movetoelement=css(".content") 
action = webdriver.ActionChains(browser) 
actionoffset = webdriver.ActionChains(browser) 
action.move_to_element(movetoelement).actionoffset.move_by_offset(10,10).perform() 

Обратите внимание, что перемещение мыши внутри окна браузера имеет тенденцию нарушать такие тесты.

+0

Я пробовал аналогично этому, результат такой же, также перед move_by_offset Мне нужно потратить время. Я не могу использовать их вместе. – hzleonardo

+1

Если что-то еще не удается, вы можете попробовать использовать класс робота в селене. Основной недостаток заключается в том, что вы не сможете запустить этот тест параллельно. – Angusiasty

+0

Хорошо, спасибо, что это не питон, но, наконец, если ничего не работает, я попробую его без python. – hzleonardo