Selenium 【求助】无头模式下 actionchains drap_and_drop 拖拽不生效?

醋精测试媛 · 2021年02月23日 · 最后由 醋精测试媛 回复于 2022年09月14日 · 2982 次阅读

正如 https://testerhome.com/topics/27867 提到的这个问题,我尝试拖拽却无法成功。
补充前端的代码如下:
最开始是这样的

当按住这个块后,前端代码变成了:

draggable 变成了 true
我使用 actionchains 无法拖拽,拖都拖不动,想询问各位是否遇到过这个情况?

source = self.find_element(*(By.CSS_SELECTOR, "[data-id='2c9280877596c5e101759b32a0fb0122']"))
target = self.get_element(*(By.CSS_SELECTOR, "[data-id='2c9280877596c5e101759b32a0fb0125']"))
action_chains = ActionChains(self.driver)
action_chains.click_and_hold(source).pause(2).move_to_element(target).release().perform()

注: data-id 属性每一块是不一样的

共收到 9 条回复 时间 点赞

没有人遇到过吗😭

尝试使用了 pyautogui,在非无头模式下可以实现,一旦切换到无头模式,则无法完成排序操作

现在的疑惑是如何在无头模式下完成拖拽?

如果是 drag_and_drop 的拖拽类操作需要用到鼠标键盘操作,那就需要有头模式,无头没法玩,无头的可操作范围只有浏览器本身,鼠标和键盘类的需要界面操作系统,看看浏览器自身有没有自己的拖拽方法,就是驱动元素移动的,不然可以用这个https://testerhome.com/topics/15142

terrychow 回复

Windows 系统好像不能用 Xvfb

那就直接平常那种测试了

最后解决了吗

大瓶子 回复

没有,无头模式下无法进行鼠标键盘操作

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册