【发布时间】:2017-08-08 03:22:20
【问题描述】:
我想将光标物理地移动到一个网络元素(不是模拟它)并按住 shift 键并单击另一个元素的偏移量。
我有按住 shift 键并点击第二个元素,使用 pyautogui:
import pyautogui
pyautogui.keyDown('shift')
pyautogui.moveRel(0, 62)
pyautogui.click()
pyautogui.keyUp('shift')
我的问题是将鼠标物理移动到该原始网络元素,然后执行上述代码。 Pyautogui 提供了移动到绝对 x,y 协调器的选项,但在我的情况下它不起作用,因为 Web 元素的绝对位置发生了变化。
知道我该怎么做吗?最好在 python 中(pyautogui、selenium 等)?
浏览器是 chrome,操作系统是 OS X。
【问题讨论】:
-
为什么不能模拟点击?您想通过按住 shift 键在新窗口中打开链接来做什么?
-
我不想打开一个新窗口。网页中有一个表格列出了一些设备。其中一列是设备 ID(例如 1234)。有时,列中会出现具有相同 ID 的设备。例如。有 3 行的 DeviceID 列设置为 1234。我想选择具有相同 DeviceID 的条目。手动单击第一个 1234,按住 shift 键,然后单击第三个 1234。问题是如果我通过识别 DeviceID 号(1234)来模拟单击,则始终会选择第一个 1234。希望我已经澄清了我想要实现的目标。
-
[This]:(imgur.com/FsW6rOB) 是选择了第一项的表格。 [link]:(imgur.com/aGsCs9T) 是选择所有项目的位置。
标签: python selenium selenium-chromedriver robotframework pyautogui