小编ale*_*cxe的帖子

将URL从URL解析为python对象

goodreads网站有这个API用于访问用户的"货架":https://www.goodreads.com/review/list/20990068.xml? key = nGvCqaQ6tn9w4HNpW8kquw &v = 2 &shelf = toored

它返回XML.我正在尝试创建一个django项目,该项目通过此API显示书架上的书籍.我正在寻找如何(或者是否有更好的方法)来编写我的视图,以便将对象传递给我的模板.目前,这就是我正在做的事情:

import urllib2

def homepage(request):
    file = urllib2.urlopen('https://www.goodreads.com/review/list/20990068.xml?key=nGvCqaQ6tn9w4HNpW8kquw&v=2&shelf=toread')
    data = file.read()
    file.close()
    dom = parseString(data)
Run Code Online (Sandbox Code Playgroud)

如果我正确地这样做,我不完全确定如何操纵这个对象.我正在学习本教程.

python xml django urllib2 xml-parsing

27
推荐指数
3
解决办法
5万
查看次数

在Python请求中获取状态代码的描述

我希望能够输入服务器响应代码并让请求告诉我代码的含义.例如,代码200 - >确定

我找到了源代码的链接,它显示了代码和描述的字典结构.我看到Requests将返回给定描述的响应代码:

print requests.codes.processing  # returns 102
print requests.codes.ok          # returns 200
print requests.codes.not_found   # returns 404
Run Code Online (Sandbox Code Playgroud)

但不是相反:

print requests.codes[200]        # returns None
print requests.codes.viewkeys()  # returns dict_keys([])
print requests.codes.keys()      # returns []
Run Code Online (Sandbox Code Playgroud)

我认为这将是一项例行任务,但似乎无法在在线搜索或文档中找到答案.

python http python-requests

27
推荐指数
3
解决办法
2万
查看次数

运行带有/不带Selenium的量角器?

检查量角器文档,我看到有一个选项可以运行量角器而不使用Selenium服务器使用directConnect: true标志.

使用selenium服务器和没有selenium服务器运行量角器测试之间的区别是什么,除了后者只支持Chrome,Firefox这一事实?

javascript selenium angularjs selenium-webdriver protractor

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

Django:访问给定字段的选择元组

我想获取当前未选择的选项的选择字段的命名值.这可能吗?

例如:models.py

FILE_STATUS_CHOICES = (
    ('P', 'Pending'),
    ('A', 'Approved'),
    ('R', 'Rejected'),
)

class File(models.Model):
    status = models.CharField(max_length=1, default='P', choices=FILE_STATUS_CHOICES)
Run Code Online (Sandbox Code Playgroud)

views.py

f = File()
f.status = 'P'
f.save()

old_value = f.status

print f.get_status_display()
> Pending

f.status = 'A'
f.save()

new_value = f.status

print f.get_status_display()
> Approved
Run Code Online (Sandbox Code Playgroud)

如何将旧显示值从"P"变为"待定"?我可以通过在视图中创建表单并访问其值/标签字典来实现.这是最好/唯一的方法吗?

python django views django-models

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

我可以在量角器配置文件中访问参数吗?

我通过运行以下命令开始我的量角器测试:

protractor protractor.conf.js --params.baseUrl=http://www.google.com --suite all
Run Code Online (Sandbox Code Playgroud)

我想运行一个'before launch'函数,它依赖于一个参数(在本例中是baseUrl).这有可能吗?

exports.config = {
    seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.45.0.jar',
    seleniumPort: 4455,
    suites: {
        all: 'test/*/*.js',
    },
    capabilities: {
        'browserName': 'firefox'
    },
    beforeLaunch: function() {
        console.log('I want to access my baseUrl parameter here: ' + config.params.baseUrl);
    },
    onPrepare: function() {

        require('jasmine-reporters');
        jasmine.getEnv().addReporter(
            new jasmine.JUnitXmlReporter('output/xmloutput', true, true));

    }
};
Run Code Online (Sandbox Code Playgroud)

如果我运行它我得到一个ReferenceError因为没有定义配置.我该怎么办?这甚至可能吗?

javascript testing angularjs protractor e2e-testing

26
推荐指数
3
解决办法
2万
查看次数

舍入到最接近的2的幂

是否有一行表达式(可能是布尔值)来获取2^n给定整数的最近数字?

示例:5,6,7必须为8.

algorithm

25
推荐指数
5
解决办法
3万
查看次数

AngularJS在使用大约2000个元素渲染时真的很慢?

这是小提琴:http: //jsfiddle.net/D5h7H/7/

它呈现以下内容:

<div ng-repeat="group in Model.Groups">
    <span>{{group.Name}}</span>
    <div ng-repeat="filter in group.Filters">
        <input type="checkbox" ng-model="filter.enabled">{{filter.Name}}
        <select ng-disabled="!filter.enabled">
            <option ng-repeat="value in filter.Values">{{value}}</option>
        </select>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

它是从服务器加载到json中然后呈现给用户的过滤器列表(在一个例子中,json就是在Fiddle中生成的).目前有6组30个过滤器,每个过滤器有15个选项元素.

在Firefox中,现在需要大约2秒来重绘UI.

对于角度js,这个时间还可以吗?有没有什么我做错了导致2秒.渲染(因为2000元素对我来说看起来不是一个大数字,但2秒.肯定是大的)?

javascript performance pageload angularjs ng-bind

25
推荐指数
3
解决办法
6万
查看次数

用selenium python下载图像

我想从浏览器获取验证码图像.我有这个图片的网址,但这张图片更改了每个更新的时间(网址是不变的).

是否有任何解决方案从浏览器获取图片(如"将图片另存为"按钮)?

从另一方面,我认为它应该是工作:

  1. 获取浏览器的屏幕截图
  2. 得到图片的位置
  3. 使用opencv从截图中裁剪验证码

动态capcha - link的链接

问题通过截图解决:

browser.save_screenshot('screenshot.png')
img = browser.find_element_by_xpath('//*[@id="cryptogram"]')
loc = img.location

image = cv.LoadImage('screenshot.png', True)
out = cv.CreateImage((150,60), image.depth, 3)
cv.SetImageROI(image, (loc['x'],loc['y'],150,60))
cv.Resize(image, out)
cv.SaveImage('out.jpg', out)
Run Code Online (Sandbox Code Playgroud)

谢谢

python firefox selenium selenium-webdriver

25
推荐指数
3
解决办法
5万
查看次数

Django测试 - 在所有测试中修补对象

我需要MockMixin为我的测试创建一些.它应该包括调用外部源的所有内容的模拟.例如,每次我在管理面板中保存模型时,我都会调用一些远程URL.如果嘲笑并使用那样的话会很好:

class ExampleTestCase(MockedTestCase):
    # tests
Run Code Online (Sandbox Code Playgroud)

因此,每次我在管理员中保存模型时,例如在功能测试中,应用此模拟而不是调用远程URL.

这有可能吗?我能够为1个特定测试做到这一点,这不是问题.但是有一些全局模拟更有用,因为我经常使用它.

python django unit-testing django-testing python-mock

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

按ID定位元素

以下定位技术有什么区别?

  1. element(by.id("id"));
  2. element(by.css("#id"));
  3. element(by.xpath("//*[@id='id']"));
  4. browser.executeScript("return document.querySelector('#id');");
  5. browser.executeScript("return document.getElementById('id');");

而且,从性能角度来看,哪个是通过id定位元素的最快方法?

selenium xpath css-selectors selenium-webdriver protractor

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