Python+selenium點擊網頁上指定坐標的實例
更新時間:2019年07月05日 15:46:46 作者:幼兒園二園長
今天小編就為大家分享一篇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點擊網頁上指定坐標的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python實現(xiàn)類似jQuery使用中的鏈式調用的示例
chained calls鏈式調用其實多是指一種方法鏈的程序寫法,這里我們來看一下Python實現(xiàn)類似jQuery使用中的鏈式調用的示例,首先說明一下什么是鏈式調用:2016-06-06
Python利用Matplotlib繪圖無法顯示中文字體的兩種解決方案
matplotlib 是python最著名的繪圖庫,它提供了一整套和matlab相似的命令API,這篇文章主要給大家介紹了關于Python利用Matplotlib繪圖無法顯示中文字體的兩種解決方案,需要的朋友可以參考下2024-03-03

