工具
尝试1
尝试2
命令:
const Browser = require('zombie');
var url = 'https://google.com'
var browser = new Browser();
browser.open(url=url)
browser.open('http://google.com', function(err) { browser.assert.success();
});
browser.assert.text('title', 'Google');
Run Code Online (Sandbox Code Playgroud)
两台机器上的结果减去文件路径差异:
assert.js:93
throw new assert.AssertionError({
^
AssertionError: No open window with an HTML document
at Browser.queryAll (/home/dmmmd/Dropbox/node_js_projects/node_modules/zombie/lib/index.js:432:5)
at Assert.text (/home/dmmmd/Dropbox/node_js_projects/node_modules/zombie/lib/assert.js:307:33)
at Object.<anonymous> (/home/dmmmd/Dropbox/node_js_projects/affinity-zombie/sample_zombie.js:7:16)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup …Run Code Online (Sandbox Code Playgroud) 我的目标是使用python的机械化和tor SOCKS代理.
我没有使用具有以下Ubuntu版本的GUI:描述:Ubuntu 12.04.1 LTS版本:12.04代号:精确
根据nmap扫描安装Tor并正在侦听端口9050:
Starting Nmap 5.21 ( http://nmap.org ) at 2013-01-22 00:50 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000011s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3306/tcp open mysql
9050/tcp open tor-socks
Run Code Online (Sandbox Code Playgroud)
我还认为我是否可以telnet到端口9050是合理的,我可以:
telnet 127.0.0.1 9050
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
quit
Connection closed by foreign host.
Run Code Online (Sandbox Code Playgroud)
我非常希望在这篇文章中建议使用urllib2: 如何使用带有urllib2的SOCKS 4/5代理?
所以我在python中尝试了以下脚本:
import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocket …Run Code Online (Sandbox Code Playgroud) 我正在使用icanhazip.com查找我的IP地址.当我使用浏览器访问该站点时,我的ip以我通常看到的方式输出:174.xx.xx.xx
当我使用python和mechanize从icanhazip.com获取我的ip时,我得到这个结果:2001:4800:7810:512:13b2:ccd5:ff04:c5f4
我确信这只是我从未见过的方式表示IP地址.如何将其转换为我习惯的形式?
提前致谢.
In [9]: br.open("http://icanhazip.com/")
Out[9]: <response_seek_wrapper at 0x30bbe60 whose wrapped object = <closeable_response at 0x30bb0e0 whose fp = <socket._fileobject object at 0x2dd5ed0>>>
In [10]: br.open("http://icanhazip.com/").read()
Out[10]: '2001:4800:7810:512:13b2:ccd5:ff04:c5f4\n'
In [11]: print br.open("http://icanhazip.com/").read()
2001:4800:7810:512:13b2:ccd5:ff04:c5f4
Run Code Online (Sandbox Code Playgroud) 我使用以下命令来运行带有django的ipython笔记本服务器:
./manage.py shell_plus --notebook
Run Code Online (Sandbox Code Playgroud)
服务器按预期运行.但是,我想设置端口,而不是在启动服务器时启动浏览器.
如果我在没有django的情况下运行IPython笔记本服务器,我成功使用以下内容:
ipython notebook --port=9999 --no-browser
Run Code Online (Sandbox Code Playgroud)
我在这里查看了文档并尝试使用设置选项
IPYTHON_ARGUMENTS = [
'--ext', 'django_extensions.management.notebook_extension',
'--port=9999',
'--no-browser,
]
Run Code Online (Sandbox Code Playgroud)
这些参数在服务器启动后加载,并且不会从我可以收集的内容中更改笔记本服务器设置.
使用django启动笔记本服务器时,如何设置笔记本服务器设置
./manage.py shell_plus --notebook
Run Code Online (Sandbox Code Playgroud)
?
先感谢您.
我的第一篇文章......
我正在使用python脚本从Mac OS X Lion上的剪贴板中获取文本.
我用以下函数设置了剪贴板:
def setClip (text):
pb = NSPasteboard.generalPasteboard()
pb.clearContents()
a = NSArray.arrayWithObject_(text)
return pb.writeObjects_(a)
Run Code Online (Sandbox Code Playgroud)
where text="some text"
我用以下内容检索剪贴板:
def getClip():
pb = NSPasteboard.generalPasteboard()
pbstring = pb.stringForType_(NSString *)dataType
return pbstring
Run Code Online (Sandbox Code Playgroud)
输出前面带有"u",文本用引号括起,如下所示:
In [224]: setClip('some text')
Out[224]: True
In [225]: getClip()
Out[225]: "u'some text'"
Run Code Online (Sandbox Code Playgroud)
如何检索文本,因为它应该输入剪贴板?
我对NSPasteboard一无所知.我在stackoverflow上找到了这些代码片段.
提前致谢.
附录:我的实际代码
from AppKit import *
def setClip (text):
pb = NSPasteboard.generalPasteboard()
pb.clearContents()
a = NSArray.arrayWithObject_(text)
return pb.writeObjects_(a)
def getClip():
pb = NSPasteboard.generalPasteboard()
pbstring = pb.stringForType_(NSString *)dataType
return pbstring
Run Code Online (Sandbox Code Playgroud)
这就是我在ipython中运行它时会发生的事情:
输出前面带有"u",文本用引号括起,如下所示: …
我是python和编程的新手.我看了很多关于字典,列表,地图,lambda,列表推导等的问题,但我似乎无法将特定的功能放在一起构建我想要的字典.
我可以按如下方式描述我想要制作的字典:
#goal: make a dictionary that describes a form
FORMNAME = 'aspnetForm'
nicks = ['username','password','submit'] #nicknames I want to use
names = [FIELD_USERNAME, FIELD_PWD, BUTTON_LOGIN] #field names
values = ['myusername','mypass',''] #field values
types = ['text', 'password', 'submit'] #control types
INPUTS = [{nicks[0]:{'name':names[0],'value':values[0],'type':types[0]}},
{nicks[1]:{'name':names[1],'value':values[1],'type':types[1]}},
{nicks[2]:{'name':names[2],'value':values[2],'type':types[2]}}]
LOGINFORM = {'name':FORMNAME, 'input':INPUTS} #this is the final dictionary I want to build
Run Code Online (Sandbox Code Playgroud)
请用最好的python方法的简洁和优雅来打动我,以便我可以学习LOGINFORM!
我想使用这个字典来填充机械化中的表单.这是我需要填充的唯一形式.我可以将这种形式填入"长"的方式,但我想学习如何用字典系统地填充它.
我的主要目的是学习如何填充词典.但我提前感谢你在我学会如何回答我自己的问题之前没有提出更好的方法.
python ×3
mechanize ×2
networking ×2
dictionary ×1
django ×1
io.js ×1
javascript ×1
lambda ×1
list ×1
map ×1
node.js ×1
nspasteboard ×1
tor ×1
ubuntu ×1
urllib2 ×1
zombie.js ×1