小编DMf*_*fll的帖子

僵尸浏览器在调用open函数后不会打开一个窗口

工具

尝试1

  • 达尔文14.3.0 Darwin内核版本14.3.0
  • io.js v1.8.1
  • 僵尸版本4.0.7 2015-04-10

尝试2

  • Linux ubuntuG5 3.13.0-48-powerpc64-smp
  • node.js v0.10.38
  • zombie Version 3.1.0 2015-03-15

命令:

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)

javascript node.js zombie.js io.js

7
推荐指数
1
解决办法
2469
查看次数

使用tor作为带有python urllib2或mechanize的SOCKS5代理

我的目标是使用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)

ubuntu networking mechanize urllib2 tor

4
推荐指数
1
解决办法
1万
查看次数

使用icanhazip.com在python中使用mechanize查找IP,输出不是我所期望的

我正在使用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)

python networking mechanize

2
推荐指数
1
解决办法
2527
查看次数

使用django-extensions运行笔记本时,设置ipython笔记本服务器参数的方法是什么?

我使用以下命令来运行带有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)

先感谢您.

django django-extensions ipython-notebook

2
推荐指数
2
解决办法
1654
查看次数

Python脚本中NSPasteboard输出中的额外字符

我的第一篇文章......

我正在使用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 nspasteboard

1
推荐指数
1
解决办法
421
查看次数

从多个列表和变量构建复杂的python字典

我是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 lambda dictionary list map

1
推荐指数
1
解决办法
1186
查看次数