python - 如何调整 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
方法,它可以让我们直接到达元素的位置,但它实际上并没有移动屏幕上的鼠标指针。最后,我正在寻找一种将鼠标指针实际移动到任何给定元素的方法。任何帮助表示赞赏。谢谢!
解决方案
推荐阅读
- c - 带有位域的 Clang 静态分析器误报(C 代码)
- java - java - 为什么这种递归方法超出了我的预期
- python - 如何只保留熊猫数据框中具有多个值的行?
- visual-studio-code - “列出所有引用”在 VSC 1.29.1 的上下文菜单中不可用
- opengl - 以下任何纹理查找是否会导致未定义的行为、非均匀流动或两者兼而有之?
- ios - 查询 Firebase 以查找值的每个实例
- typescript - 启动应用程序时打字稿抛出错误
- python - 基于通用 x 轴值对数据框柱形图进行分组
- angular - 离子/角度离开页面事件
- reactjs - React Router V4 使用 Material UI 在 ListItem 中实现 NavLink