当窗口捕捉到一个边框或2个边框(顶部和底部屏幕边缘)时,似乎会重置Chrome的位置和大小的任何更改(尝试使用Selenium和JS)。在用户手动“取消捕捉”之前,所有移动和调整大小的请求都会立即还原(我可以看到一帧位置和大小正确的帧,下一帧将还原为先前的状态)。我怀疑是KDE,但我不确定。
// snapped
> window.outerHeight
< 1137
> window.resizeTo(10,10)
< undefined
> window.outerHeight
< 1137
> window.screenX
< 2135
> window.moveTo(0,0)
< undefined
> window.screenX
< 2135
// unsnapped (I tried to move and resize the window as little as possible)
> window.moveTo(0,0)
< undefined
> window.screenX
< 1067 // ok (probably because 2 monitor setup)
> window.resizeTo(10,10)
< undefined
> window.outerHeight
< 101 // ok (probably minimal window size)
有任何技巧如何在KDE(如果负责)中禁用此行为,或如何从JS(在内部窗口中)或Selenium(使用Haskell的webdriver库)执行“取消捕捉”操作?
编辑:有人删除了Haskell标记,但我不确定为什么。引用我的问题:
是还是通过JS(在内部窗口中)或 Selenium(使用来自 Haskell 的webdriver库)执行“取消捕捉”操作?
?
如果可能的话,它不涉及Haskell,Selenium解决方案与Haskell库链接在一起-涉及Selenium的解决方案,但是对于webdriver库而言,这是没有用的。
Edit2:
好,添加Haskell代码,以便我可以重新添加Haskell标记...这是我的使用方式:
runWD session $ do
setWindowPos (x', y')
liftIO $ threadDelay $ 100 * 1000
setWindowSize (w, h)
liftIO $ threadDelay $ 100 * 1000
它的行为与我之前发布的JS开发控制台中的行为完全相同。