首页 > 解决方案 > pynput 和 selenium 位置的位置参数不同

问题描述

我想在由 Selenium 控制的页面中找到按钮的 (x,y)。1. 命令 find_element_by_id("id").location 返回 (x1,y1) 2. 我使用包 Pynput。我将鼠标放在按钮上并使用命令 mouse.position (从 Pynput 包执行)。

print(driver.find_element_by_id("send_btn").location) # Returns {'x': 591, 'y': 348}
print(mouse.position) # Returns (566, 468)

令人惊讶的是,结果非常不同。有人知道这个区别吗?

标签: seleniumpositionpynput

解决方案


位置和位置是有区别的。

这是一个例子:

e = driver.find_element_by_xpath("Something_As_An_Xpath")

print(e.position)
print(e.location)

结果(对于您的示例):

Position -> ['width': 566, 'height': 468]
Location -> ['y': 591, 'x': 348]

位置在发送位置时返回元素的宽度和高度,让我们说它的协调。


推荐阅读