Ну, можно получить что-то весьма схожее с тем использованием скрученного кабельного колодца, который работает как это:
from twisted.internet import reactor
from twisted.cred import portal, checkers
from twisted.conch import manhole, manhole_ssh
def getManholeFactory(namespace):
realm = manhole_ssh.TerminalRealm()
def getManhole(_):
return manhole.Manhole(namespace)
realm.chainedProtocolFactory.protocolFactory = getManhole
p = portal.Portal(realm)
p.registerChecker(
checkers.InMemoryUsernamePassword DatabaseDontUse(admin='foobar'))
f = manhole_ssh.ConchFactory(p)
return f
reactor.listenTCP(2222, getManholeFactory(globals()))
reactor.run()
Затем Вы просто входите в программу по ssh;
$ ssh admin@localhost -p 2222
admin@localhost's password:
Используя foobar как пароль.
, Когда Вы входите в систему, Вы получите нормальную подсказку Python, где можно просто ввести по абсолютному адресу в данных. Это - не совсем то же как получение traceback, отправленного законченным в хост.
Теперь, это могло бы быть хитро для интеграции к программе GUI, в этом случае Вы, возможно, должны были бы выбрать другой реактор, например, для базирующихся программ gtk использовал gtk2reactor и т.д.
, Если Вы хотите фактический traceback, отправленный по Вам, должен создать канал сокета и для stderr, stdin и для stdout, который пробегается через сеть вместо того, чтобы печатать к Вашему локальному хосту. Не должно быть слишком твердым для выполнения при помощи скрученного.
Я не думаю, что можно управлять мышью таким образом с помощью JavaScript.
Однако вы можете выбирать части документа напрямую, используя JavaScript. Например:
var h3s = document.getElementsByTagName("h3");
var range = document.createRange();
range.selectNode(h3s[0]);
window.getSelection().addRange(range);
выберет первый элемент h3.
Также см .: http://www.quirksmode.org/dom/range_intro.html для получения дополнительной информации о диапазонах застройки.
Чтобы выделить весь текст документа, вы можете использовать:
var body = document.getElementsByTagName("body")[0];
var range = document.createRange();
range.selectNode(body);
window.getSelection().addRange(range);
Чтобы выбрать 3-й символ, скажем, 4-го абзаца в документе, попробуйте:
var p4 = document.getElementsByTagName("p")[3].firstChild;
var range = document.createRange();
range.setStart(p4, 2);
range.setEnd(p4, 3);
window.getSelection().addRange(range);
насколько я знаю, это невозможно. единственный текст, который вы можете выбрать, находится в элементе формы (текстовое поле, вводимый текст и т. д.)