我想远程管理用户打开的浏览器窗口,以便支持我的网站上的用户。我通过套接字传输点击和键盘事件来模拟一些事件,但由于浏览器
我想远程管理用户打开的浏览器窗口,以便支持我的网站上的用户。
我通过套接字传输点击和键盘事件模拟了一些事件,但由于浏览器策略,我无法访问所有事件。例如,当我想打开颜色选择器时,我收到了一条警告消息。
function triggerClickEvent(clickPosition) {
var { x, y } = clickPosition;
if (!window.clickEvent) {
window.clickEvent = new MouseEvent('click', {
view: window,
bubbles: true,
button: 1,
cancelable: true,
clientX: x,
clientY: y
});
} else {
window.clickEvent.clientX = x;
window.clickEvent.clientY = y;
}
document.elementFromPoint(x, y).dispatchEvent(clickEvent);
clickEvent.target.blur();
clickEvent.target.focus();
clickEvent.target.click();
}
function triggerKeyPressEvent(keyPress) {
var keyPressEvent = new KeyboardEvent('keydown', { 'key': keyPress.key });
document.dispatchEvent(keyPressEvent);
}
如何通过获取相关的用户权限来解决这些问题?
由于我们没有您要绘制的数据,因此很难排除故障。使用随机生成的数据重写将使排除绘图故障变得更容易。
这是我认为您正在尝试做的事情的最低限度的再现。
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import numpy as np
fig = plt.figure()
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)
def update(frame):
# '10' here is # of points to start w/;
# frame increments by 1 every loop - plotting more data.
x_data = np.arange(10+frame)
# sets fixed seed, generates random 'pressure' data
np.random.seed(0)
p_data = np.random.rand(10+frame)
# sets fixed seed, generates random 'temp' data.
np.random.seed(1)
tc_data = np.random.rand(10+frame)
# plots data on two subplots
ax1.plot(x_data, p_data)
ax2.plot(x_data, tc_data)
anim = FuncAnimation(fig, update)
plt.show()
MatPlotLib 的动画文档(看起来你已经读过了,但对于未来的任何人来说): https://matplotlib.org/stable/users/explain/animations/animations.html