2016-04-18 11 views
0

Ich versuche, die Zeit in dem Popup zu nehmen, das nur erscheint, wenn ich den Mauszeiger darauf bewege. Dann bewegen Sie die Maus zu einem anderen Punkt. Ich habe versucht mit Firefox und Phantomjs auf Osx und Ubuntu. Phantomjs funktioniert nie, mit Firefox funktioniert es manchmal und manchmal nicht, manchmal bewegt es sich in einem Element, movebyoffset funktioniert nicht. Ich habe versucht, zu warten und zu schlafen funktioniert auch, das gleiche Ergebnis. Seite ist Ajax Inhalt. Ich stehe vor dem gleichen Problem, wenn ich versuche, auf einen "href = javascript" -Button zu klicken. Was kann das Problem sein?Selen: Maus auf Element bewegen funktioniert nicht

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() 

Es erfordert Login, damit ich Ihnen die HTML zeigen kann. Es gibt kein Problem mit meinem CSS-Pfad. Wie gesagt, manchmal funktioniert es, manchmal nicht.

> 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

Können Sie die URL posten, von der Sie auf diese Informationen zugreifen? – Phillip

+0

Ich habe die Frage bearbeitet, Sie können dort sehen. – hzleonardo

+0

Gibt es noch andere Elemente mit der Klasse 'content'? – Phillip

Antwort

0

Haben Sie versucht, Ihre Aktionen zu verketten?

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

Bitte beachten Sie, dass Sie mit der Maus innerhalb Browser-Fenster zu bewegen neigt wie diese Tests zu brechen.

+0

Ich habe versucht, ähnlich, das Ergebnis ist das gleiche, auch vor move_by_offset muss ich mir die Zeit nehmen. Ich kann sie nicht so zusammen benutzen. – hzleonardo

+1

Wenn noch etwas fehlschlägt, können Sie versuchen, die Roboterklasse in Selen zu verwenden. Der Hauptnachteil ist, dass Sie diesen Test nicht parallel ausführen können. – Angusiasty

+0

Nun, danke, es ist nicht Python, aber wenn nichts funktioniert, werde ich es ohne Python versuchen. – hzleonardo

Verwandte Themen