如何将Mozrepl Javascript结果读入Python变量?

时间:2013-07-12 21:18:36

标签: python telnetlib mozrepl

使用Firefox和Python中的Mozrepl插件,我做了:

>>> import telnetlib
>>> tn = telnetlib.Telnet(r'127.0.0.1', 4242, 5)
>>> tn.read_eager()
'\nWelcome to MozRepl.\n\n - If you get stuck at the "'
>>> tn.read_until("repl> ")
...snip...
>>> tn.write(r'alert(window.content.location.href)'+"\n")

我收到一个警告框,其中包含活动标签的网址。但是如何将该URL读入python变量?像tn.write(r';var zz = window.content.location.href'+ "\n")之类的东西但是没有把它变成python。

我将不胜感激。

2 个答案:

答案 0 :(得分:0)

回答迟到但希望有用......

你只是再次从telnet连接读取,mozrepl的输出就在那里。请务必注意返回的换行符和引用的字符串。

答案 1 :(得分:0)

这可以使用pymozrepl模块完成。

>>> import mozrepl
>>> repl = mozrepl.Mozrepl()
>>> 
>>> repl.execute('alert(window.content.location.href)')
>>> 
>>> #or
>>> from mozrepl.type import Raw
>>> repl.execute('alert')(Raw('window.content.location.href'))
>>> 
>>> #or
>>> repl.execute('alert')(repl.execute('window').content.location.href)
>>> 
>>> #or
>>> repl.execute('alert')(repl.execute('window.content.location.href'))
>>> 
>>> #pymozrepl module also can get javascript value.
>>> repl.execute('repl._name')
'repl'