Selenium获取元素坐标
有时候操作元素,比如鼠标事件中的拖动和移动鼠标位置都需要用到坐标,如何获取定位元素的x坐标和y坐标?
一、常用获取坐标的方法
方法 | 含义 |
---|---|
location | 返回元素x轴和y轴坐标的字典 |
location.get('x') | 返回元素的x轴坐标 |
location.get('y') | 返回元素的y轴坐标 |
size.get('width') | 返回元素的宽 |
size.get('height') | 返回元素的高 |
rect | 返回元素尺寸和坐标 |
二、使用方法
注:获取元素坐标需要浏览器最大化
获取百度首页的输入框的坐标位置
# 打开Chrome浏览器
driver = webdriver.Chrome("../login/chromedriver.exe")
# 设置全局等待时间,最大超时时间为10秒
driver.implicitly_wait(10)
# 获取元素坐标需要浏览器最大化
driver.maximize_window()
# 浏览器访问地址
driver.get("https://www.baidu.com/")
# 根据id获取到元素
kw = driver.find_element_by_id("kw")
# 使用元素的location方法获取x和y坐标
kw_xy = kw.location
# 百度搜索框的x坐标
kw_x = kw.location.get('x')
# 百度搜索框的y坐标
kw_y = kw.location.get('y')
# 获取元素的宽
kw_width = kw.size.get("width")
# 获取元素的高
kw_height = kw.size.get("height")
# 获取元素的宽高和x轴y轴坐标
kw_size_xy = kw.rect
print('输入框的x和y坐标 =', kw_xy, ',输入框x坐标 =', kw_x, ',输入框y坐标 =', kw_y)
print("输入框的宽高和xy坐标 =", kw_size_xy, "输入框的宽 =", kw_width, ',输入框的高 =', kw_height)