如何调整 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 (将#修改为@)