码迷,mamicode.com
首页 > Web开发 > 详细

selenium——点击网页指定坐标

时间:2020-09-18 01:50:01      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:nbsp   点击   off   bsp   common   word   val   for   运行   

原文:https://www.cnblogs.com/pythonClub/p/10491857.html

 

 

1
2
3
4
5
6
7
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)。

可以用封装来抵消这种累积(点击完之后将鼠标坐标恢复),代码如下:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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) # 右键点击

  

selenium——点击网页指定坐标

标签:nbsp   点击   off   bsp   common   word   val   for   运行   

原文地址:https://www.cnblogs.com/heymonkey/p/13671641.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!