小编tom*_*tom的帖子

如何在Selenium WebDriver中设置浏览器宽度和高度?

我正在使用Selenium WebDriver for Python.我想要实例化具有特定宽度和高度的浏览器.到目前为止,我能得到的最接近的是:

driver = webdriver.Firefox()
driver.set_window_size(1080,800)
Run Code Online (Sandbox Code Playgroud)

哪个有效,但在创建后设置浏览器大小,我希望它在实例化时设置.我猜测有一种方法:

profile = webdriver.FirefoxProfile();
profile.set_preference(foo, 1080)
driver = webdriver.Firefox(profile)
Run Code Online (Sandbox Code Playgroud)

但我不知道foo会是什么,我无法弄清楚文档的位置.

Q1:有没有办法在实例化时设置宽度/高度?

Q2:列出可用的所有密钥的参考文档在哪里profile.set_preference

python selenium screen-resolution selenium-webdriver

61
推荐指数
5
解决办法
8万
查看次数

当多个订单属性存在时,加快App Engine本地SDK数据库查询?

我有一个看起来像这样的查询:

query = (models.Foo.all()
  .filter('x =', x)
  .filter('y =', y)
  .filter('z =', z)
  .filter('zz =', zz)
  .order('-a'))
Run Code Online (Sandbox Code Playgroud)

它在~100ms内在本地SDK上运行,并以可接受的速度在云中运行.当我添加第二个订单(所以看起来像这样:)

query = (models.Foo.all()
  .filter('x =', x)
  .filter('y =', y)
  .filter('z =', z)
  .filter('zz =', zz)
  .order('-a')
  .order('-b'))
Run Code Online (Sandbox Code Playgroud)

..在本地SDK上需要大约10秒(长100倍),并且在云中以与之前相同的速度运行.我需要有二阶属性.

有关设置的一些细节:

  • Windows SDK版本1.9.50
  • Python 2.7
  • 使用db模型,而不是ndb
  • 我已经开始使用新的本地数据库(替换了datastore.db)并从头开始重建记录
  • 本地有大约1200个Foo实体(云中约为3M)
  • 我跑sqlite3 datastore.db "PRAGMA integrity_check了本地数据库,没有报告任何错误

问题:如何在本地更快地运行查询?(在整个时间里,10s滞后的开发真的很困难.)

python sqlite google-app-engine google-app-engine-python

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

ngModelOptions的angular的updateOn属性支持的完整事件列表是什么?

文件说,

updateOn:指定输入绑定到哪个事件的字符串.您可以使用空格分隔列表设置多个事件.有一个名为default的特殊事件与属于控件的默认事件匹配.

该页面中提到的几个事件:blur,default,submit.还有其他人吗?完整列表是否记录在何处?

javascript angularjs angular-ngmodel

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

支持Python 2.5的GAE SDK的最新版本是什么?

我们正在将应用程序从python 2.5迁移到python 2.7.

最新的SDK(1.8.3)不支持python 2.5.

什么是最新版本的SDK支持python 2.5?如果你有,请链接到源.

google-app-engine

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

app引擎(python)如何跨请求管理内存(超出软私有内存限制)

Exceeded soft private memory limit在app引擎中的各种请求处理程序中偶尔会遇到错误.我知道这个错误意味着实例使用的RAM超过了分配的数量,以及它如何导致实例关闭.

我想了解可能导致错误的原因,并且首先,我想了解app引擎python实例应该如何管理内存.我的基本假设是:

  1. F2实例以256 MB开头
  2. 启动时,它会加载我的应用程序代码 - 比方说30 MB
  3. 当它处理请求时,它有226 MB可用
    • 只要该请求不超过226 MB(+误差范围),请求就完成无错误
    • 如果它确实超过226 MB + margin,实例完成请求,记录'Exceeded soft private memory limit'错误,然后终止 - 现在返回步骤1
  4. 当该请求返回时,它所使用的任何内存都被释放 - 即.未使用的RAM回到226 MB
  5. 对于传递给实例的每个请求,无限期地重复步骤3-4

这就是我认为这是可行的,但考虑到我偶尔会穿过一个相当看到此错误广集请求处理的,现在我不那么肯定.我的问题是:

a)第4步会发生吗?

b)什么可能导致它不发生?还是不完全发生?例如,请求之间的内存如何泄漏?

c)模块级变量中的存储是否会导致内存使用泄漏?(我不是故意以这种方式使用模块级变量)

d)我可以使用哪些工具/技术来获取更多数据?例如,在请求处理程序的入口处测量内存使

在答案/评论中,如果可能,请链接到gae文档.

[编辑]额外信息:我的应用程序被统一为threadsafe: false.如果这与答案有关,请说明它是什么.我计划threadsafe: true很快改变.

[编辑] 澄清:这个问题是关于gae对内存管理的预期行为.因此,虽然像"呼叫gc.collect()" 这样的建议可能是相关问题的部分解决方案,但它们并没有完全回答这个问题.直到我理解gae预计会如何表现为止,使用gc.collect()对我来说就像伏都教编程一样.

最后:如果我把这一切都倒退了然后我提前道歉 - 我真的找不到有用的信息,所以我大多猜测..

python memory google-app-engine google-app-engine-python

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

角度监视器和事件监听器以什么顺序执行?

如果首先更改范围属性,然后再广播事件,那么相应的观察者回调和事件监听器回调是否始终以相同的顺序执行?例如:

$scope.foo = 3;
$scope.$broadcast('bar');
Run Code Online (Sandbox Code Playgroud)

和其他地方:

$scope.$watch('foo', function fn1(){...});
$scope.$on('bar', function fn2(){...});
Run Code Online (Sandbox Code Playgroud)

fn1永远执行fn2,反之亦然,或者订单不能依赖?请引用消息来源,最好是官方角度文档.

如果它很重要:让我们假设$ scope.foo =并且$ broadcast出现在由ng-click调用的函数中(即用户交互)

[旁白]抱歉问题标题很草率 - 如果你有更好的东西请重命名.

javascript angularjs angularjs-digest

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

appengine urllib是否使用SSLv3?TLS?

在请求HTTPS资源时,appengine的urllib是否使用SSLv3?使用TLS?(python 2.7)

对于上下文,AWS S3最近宣布了这一点

截至2015年4月30日太平洋时间12月30日,AWS将停止支持SSLv3以确保与S3存储桶的连接.

然后

[我们的一些存储桶]目前正在接受来自指定SSLv3以连接到S3 HTTPS端点的客户端的请求.

然后

AWS禁用对Amazon S3服务的SSLv3支持后,这些请求将失败.为避免中断访问,您必须更新任何客户端软件(或通知任何客户端更新软件),使使用SSLv3的请求连接到S3 HTTPS端点.

他们不提供有关哪些客户端正在使用SSLv3的任何用户代理信息.所以我想到,由于我们使用boto 2.9.9(使用urllib)从GAE连接到S3,我们的GAE到S3连接可能是SSLv3违规者,现在我想检查是否是这种情况.

如果我在这里误解了一些概念,我会提前道歉.例如,TL​​S或SSLv3的使用(或不使用)可能由python版本或boto配置或其他内容决定.如果是这样,请纠正我,并编辑我的问题:)

哦,感谢AWS在没有任何用户代理信息或其他方式的情况下放弃我们,以确定4月30日究竟要破坏的内容;)

python ssl google-app-engine urllib amazon-s3

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

在GAE中的deferred.defer中重试计数

我正在使用GAE的' deffered '库(python),它会在发生异常时自动重试任务.

有没有办法知道(在任务处理函数内)任务被尝试的次数?

我的最终目标是实现以下内容:

if num_tries >5:
  email_admins()
  raise deferred.PermanentTaskFailure
Run Code Online (Sandbox Code Playgroud)

最初我以为我可以使用'TaskRetryOptions'来限制尝试次数,但我相信这并没有提供我的email_admins()调用的机制.或者是吗?

[编辑]当然我可以读取/写入DB或memcache的尝试次数,但我宁愿避免这种复杂性.如果可能的话,我更愿意从任务/任务队列中获取详细信息.

python google-app-engine

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