有沒有辦法顯示當前光標位置或類似的東西?我有一個應該點擊某個對象上的確切點的動作鏈,但我想我已經找到了錯誤的座標。我使用Firefox webdriver。 這裏的腳本的樣子:在Selenium中顯示當前光標位置
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()
這是一個非常糟糕的做法。只要將此端口移植到其他瀏覽器/計算機/等等,就很可能會遇到問題。幾乎總是有一種方法可以在不使用鼠標的情況下進行客戶端操作,即使這是唯一方法,仍然應該有一個不使用光標位置的方式。如果這是唯一的方法,那麼只有當瀏覽器窗口被設置爲特定大小時,才能夠單擊該元素。如果您提供您嘗試訪問的網站的網址,那麼我可能會找到一種更好的方式讓您實現您正在嘗試的操作... –
@barakmanos感謝您的評論。不幸的是,我沒有其他方式可以在頁面上使用該對象。例如,假設我想在http://www.jwplayer.com/上啓動視頻並更改其分辨率,但不使用其API。 –
我同意barak manos,一般情況下你不想這樣做,但是我發現你試圖點擊flash player。我不知道任何通過控制瀏覽器(像Selenium一樣)操作的解決方案,它不依賴於使用座標來執行此測試。然而,也許有測試解決方案設計的閃存,將能夠找到像Selenium能夠找到Flash元素的元素? – Louis