微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何调整 Selenium 元素坐标和 PyAutoGUI 坐标之间的可变性?

如何解决如何调整 Selenium 元素坐标和 PyAutoGUI 坐标之间的可变性?

我正在尝试将鼠标指针移动到网页上的某个元素。我使用 elem = driver.find_element_by_xpath(xpath) 来定位元素,并使用 elem.location获取它的 x、y 坐标。 然而,当我使用 pyautogui 将我的鼠标指针移动到这些坐标时,它们结束于其他地方。 Selenium 给出的位置坐标似乎并不是真正的屏幕坐标。

经过进一步的探索,我得到了以下结果:

driver.maximize_window()
print("Window size (Selenium):",driver.get_window_size())
print("Window position (Selenium):",driver.get_window_position())
print("Window size (pyautogui):",pyautogui.size())

输出

Window size (Selenium): {'width': 1552,'height': 840}
Window position (Selenium): {'x': -8,'y': -8}
Window size (pyautogui): Size(width=1920,height=1080)

这再次表明屏幕坐标与 selenium 返回的不同。

我知道 selenium webdriver 的 move_to_element 方法,它让我们直接到达元素的位置,但它实际上并没有移动屏幕上的鼠标指针。最后,我正在寻找一种实际将鼠标指针移动到任何给定元素的方法。任何帮助表示赞赏。谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。