Pynput和硒位置的位置参数不同

问题描述 投票:1回答:2

我想在由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)

令人惊讶的是,结果非常不同。有人对此差异有想法吗?

selenium position pynput
2个回答
0
投票

位置和位置之间有区别。

这里是一个例子:

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]

位置在发送位置时返回元素的宽度和高度,我们称它为坐标。


0
投票

感谢您的回复

我正在使用Python 3.7.4“ FirefoxWebElement”中的元素没有“ position”属性。因此,执行e.position返回错误。当然,根据您的答复,我检查了以下命令:

print(e.location) # This returns {'x': 565, 'y': 420}
print(e.size) # That returns {'height': 30.0, 'width': 100.0}

似乎这两个命令与Pynput的位置不同

print(mouse.position) # Returns (566, 468)

所以“位置”不等于“大小”也不等于“位置”

© www.soinside.com 2019 - 2024. All rights reserved.