您好,登錄后才能下訂單哦!
小編給大家分享一下Python+selenium如何實現點擊網頁上指定坐標,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
例如有些頁面元素很難獲取,但是位置很固定,那么可以直接用坐標來進行操作
例如要對頁面上的(x:200, y:100)進行操作,可以用如下代碼:
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains dr = webdriver.Chrome() dr.get('http://www.baidu.com') ActionChains(dr).move_by_offset(200, 100).click().perform() # 鼠標左鍵點擊, 200為x坐標, 100為y坐標 ActionChains(dr).move_by_offset(200, 100).context_click().perform() # 鼠標右鍵點擊
運行效果(右鍵):
需要注意的是,每次移動都是在上一次坐標的基礎上(即坐標值是累積的),如上的代碼實際運行時,點擊完左鍵再點擊右鍵,坐標會變成(400, 200)。
可以用封裝來抵消這種累積(點擊完之后將鼠標坐標恢復),代碼如下:
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains def click_locxy(dr, x, y, left_click=True): ''' dr:瀏覽器 x:頁面x坐標 y:頁面y坐標 left_click:True為鼠標左鍵點擊,否則為右鍵點擊 ''' if left_click: ActionChains(dr).move_by_offset(x, y).click().perform() else: ActionChains(dr).move_by_offset(x, y).context_click().perform() ActionChains(dr).move_by_offset(-x, -y).perform() # 將鼠標位置恢復到移動前 if __name__ == "__main__": dr = webdriver.Chrome() dr.get('http://www.baidu.com') click_locxy(dr, 100, 0) # 左鍵點擊 click_locxy(dr, 100, 100, left_click=False) # 右鍵點擊
以上是“Python+selenium如何實現點擊網頁上指定坐標”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。