C'è un modo per mostrare la posizione corrente del cursore o qualcosa del genere? Ho una catena d'azione che dovrebbe fare clic sul punto esatto su qualche oggetto, ma suppongo di aver individuato coordinate sbagliate. Io uso il webdriver di Firefox. Ecco come lo script appare come:Mostra la posizione corrente del cursore nel selenio
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()
È un pessimo modo di farlo. Molto probabilmente ti imbatterai in problemi non appena lo porti su un altro browser/computer/ecc. C'è quasi sempre un modo per fare un'azione client senza usare il mouse, e anche se è l'unico modo, dovrebbe esserci ancora un modo di farlo senza usare la posizione del cursore. Se quello era l'unico modo, allora si sarebbe in grado di fare clic sull'elemento solo quando la finestra del browser era impostata su una dimensione specifica. Se fornisci l'URL del sito Web a cui stai tentando di accedere, potrei essere in grado di trovare un modo migliore per ottenere ciò che stai cercando ... –
@barakmanos Grazie per il tuo commento. Sfortunatamente, non c'è altro modo per me di lavorare con quell'oggetto a pagina. Ad esempio, diciamo che mi piacerebbe iniziare il video e cambiare la sua risoluzione su http://www.jwplayer.com/ ma senza usare la sua API. –
Sono d'accordo con il manama di barak che nel caso generale non si vuole farlo, ma vedo che stai provando a fare clic su un flash player. Non conosco alcuna soluzione che funzioni controllando * solo * il browser (come fa Selenium) che non dipenderà dall'uso delle coordinate per eseguire questo test. Tuttavia, forse ci sono soluzioni di test progettate per il flash che sarebbero in grado di trovare elementi flash come Selenium è in grado di trovare elementi DOM? – Louis