试图找到一种在Selenium Python WebDriver中设置命令执行延迟的最大时间限制的好方法.理想情况下,例如:
my_driver = get_my_driver()
my_driver.set_timeout(30) # seconds
my_driver.get('http://www.example.com') # stops / throws exception when time is over 30 seconds
Run Code Online (Sandbox Code Playgroud)
会工作.我发现了.implicitly_wait(30),但我不确定它是否会导致所需的行为.
如果它有用,我们专门使用WebDriver for Firefox.
编辑
根据@ amey的回答,这可能有用:
ff = webdriver.Firefox()
ff.implicitly_wait(10) # seconds
ff.get("http://somedomain/url_that_delays_loading")
myDynamicElement = ff.find_element_by_id("myDynamicElement")
Run Code Online (Sandbox Code Playgroud)
但是,我不清楚隐式等待是否适用于get(这是所需的功能)和find_element_by_id.
非常感谢!
试图在uWSGI中设置请求的超时,我不确定设置是否正确.似乎有多个超时选项(套接字,接口等),并且不容易明白要配置哪个设置或在哪里设置它.
我正在寻找的行为是将请求的时间延长到REST应用程序的资源层.
题
如何在不在test目录中创建包的情况下导入测试文件中的辅助函数?
上下文
我想创建一个测试辅助函数,我可以在几个测试中导入它.说,像这样:
# In common_file.py
def assert_a_general_property_between(x, y):
# test a specific relationship between x and y
assert ...
# In test/my_test.py
def test_something_with(x):
some_value = some_function_of_(x)
assert_a_general_property_between(x, some_value)
Run Code Online (Sandbox Code Playgroud)
使用Python 3.5,py.test 2.8.2
当前"解决方案"
我目前正在通过在我的项目test目录(现在是一个包)中导入一个模块来实现这一点,但是如果可能的话我想用其他一些机制来做(因为我的test目录没有包但只是测试,并且可以在已安装的软件包版本上运行测试,如py.test文档中关于良好实践的建议).
我们需要计算PostgreSQL表中的行数.在我们的例子中,不需要满足任何条件,如果显着提高查询速度,那么获得行估计是完全可以接受的.
基本上,我们希望select count(id) from <table>尽可能快地运行,即使这意味着没有得到确切的结果.
谢谢!任何建议将不胜感激!
试图找到一种方法来禁止Firefox在每次连接使用"不受信任"证书时使用Selenium发出警告.我相信那种最有效的解决方案是设置一个浏览器首选项.
非常感谢!任何建议将不胜感激!
目前使用libmproxy,又使用telnetlib,发出请求到HTTPS网页.但是,会引发以下错误:
Error: [('SSL routines', 'SSL3_READ_BYTES', 'tlsv1 alert unknown ca')]
Run Code Online (Sandbox Code Playgroud)
我认为这与无法验证担保页面使用的证书的CA的身份有关.我认为应该有一个可以打开(或关闭)的设置,可以绕过验证 - 我对验证数字签名者的身份不感兴趣.
我认为一种可能的,丑陋的解决方案可能是修补代码以捕获异常并忽略它,但我宁愿采用更清晰,更受支持的方式来实现它.
什么是避免/解决这个问题的好方法?
非常感谢!
当我尝试在我的Windows 64位计算机上安装Shapely时,我无法使GEOS库工作.
到目前为止,我已经运行了安装了GDAL的OSGeo4W安装程序(我相信地理库包含在该软件包中).之后,我检查了我的C:\OSGeo4W\bin目录上有geos_c.dll ,但要么我错过了一些配置步骤,要么库不起作用.
我需要Shapely来工作,所以我也在pip install shapely安装GDAL之后运行,它显然有效(尽管它找不到GEOS的C库).
在我的代码中,我可以导入Shapely,但是当我尝试使用它时,我收到一个错误,告诉我"geos.dll"找不到.
任何有关这方面的帮助将非常感激.谢谢!
设置JSONField为具有新列表的默认值的最佳方法是什么django?
有一个模型,其中一个字段是项目列表.在没有设置项目的情况下,模型应该有一个空列表.
from django.models import Model
class MyModel(Model):
the_list_field = JSONField(default=[])
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗?它应该转换为使用list吗?
谢谢!
尝试从响应中获取SSL证书requests.
有什么好办法呢?
尝试requests在Python中获取HTTP响应内容的原始数据.我有兴趣通过另一个频道转发响应,这意味着理想情况下内容应尽可能保持原始状态.
这样做有什么好办法?
非常感谢!