Gibt es eine Möglichkeit, die aktuelle Cursorposition oder etwas Ähnliches anzuzeigen? Ich habe eine Aktionskette, die auf den genauen Punkt eines Objekts klicken sollte, aber ich vermute, dass ich falsche Koordinaten aufgegriffen habe. Ich benutze Firefox Webdriver. Hier ist , wie das Skript wie folgt aussieht:Aktuelle Cursorposition in Selen zeigen
from selenium import webdriver
import time
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()
driver.get("http://www.mysite/")
elem = driver.find_element_by_xpath('//div[@id="player"][1]/object[@type="application/x-shockwave-flash"]')
action_chains = ActionChains(driver)
action_chains.move_to_element_with_offset(elem, 660, 420).perform()
action_chains.click().perform()
time.sleep(10)
driver.close()
Es ist eine sehr schlechte Art, es zu tun. Sie werden höchstwahrscheinlich auf Probleme stoßen, sobald Sie dies auf einen anderen Browser/Computer/etc portieren. Es gibt fast immer eine Möglichkeit, eine Client-Aktion ohne Maus zu machen, und selbst wenn es die einzige Möglichkeit ist, sollte es immer noch einen geben Möglichkeit, dies ohne die Cursorposition zu tun. Wenn dies der einzige Weg wäre, könnten Sie nur auf das Element klicken, wenn das Browserfenster auf eine bestimmte Größe eingestellt ist. Wenn Sie die URL der Website angeben, auf die Sie zugreifen möchten, kann ich möglicherweise einen besseren Weg finden, um das zu erreichen, was Sie versuchen ... –
@barakmanos Vielen Dank für Ihren Kommentar. Leider gibt es keine andere Möglichkeit, mit diesem Objekt auf der Seite zu arbeiten. Nehmen wir zum Beispiel an, ich möchte das Video starten und die Auflösung unter http://www.jwplayer.com/ ändern, ohne die API zu verwenden. –
Ich stimme Barak Manos zu, dass Sie im Allgemeinen nicht wollen, aber ich sehe, dass Sie versuchen, in einen Flash-Player zu klicken. Ich kenne keine Lösung, die funktioniert, indem * nur * der Browser (wie Selenium) gesteuert wird, der nicht von der Verwendung von Koordinaten abhängt, um diesen Test durchzuführen. Aber vielleicht gibt es Testlösungen für Flash, die Flash-Elemente wie Selenium finden könnten, um DOM-Elemente zu finden? – Louis