我使用Mailgun作为我维护的网站,通常Mailgun工作得很好,但我遇到了一个奇怪的问题.我的脚本调用HTTP API使用Mailgun发送消息,然后这些消息在我的日志中显示为"已接受",但是需要很长时间才能"交付",通常根本无法交付,只是保持为"公认".有没有人遇到类似的错误或任何人都可以提出修复方法?我猜它是在提供给API的参数中,但我不能为我的生活找出问题所在.
对于不同的收件人域和一天中的不同时间存在问题.
有问题的消息的JSON日志如下.当然,我已经改变了地址和域名.
{
"tags": [],
"timestamp": 1411498829.247304,
"envelope": {
"targets": "my-own-email@address.com",
"transport": "",
"sender": "noreply@the-site-in-question.com"
},
"recipient-domain": "address.com",
"event": "accepted",
"campaigns": [],
"user-variables": {},
"flags": {
"is-authenticated": true,
"is-system-test": false,
"is-test-mode": false
},
"message": {
"headers": {
"to": "my-own-email@address.com",
"message-id": "20140923190027.112157.29352@the-site-in-question.com",
"from": "\"the-site-in-question.com\" <noreply@the-site-in-question.com>",
"subject": "Dom, your password was reset."
},
"attachments": [],
"recipients": [
"my-own-email@address.com"
],
"size": 556
},
"recipient": "my-own-email@address.com",
"method": "http"
}
Run Code Online (Sandbox Code Playgroud) Postgresql
, Django 2.0
,Python 3.6.4
运行将字段名称更改desktop_pay
为 simple 的迁移后pay
,运行时出现错误manage.py test
,提示该列pay
不存在。
这是迁移:
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('instructions', '0055_auto_20180517_1508'),
]
operations = [
migrations.RenameField(
model_name='instruction',
old_name='desktop_pay',
new_name='pay',
),
]
Run Code Online (Sandbox Code Playgroud)
这是错误:
> python .\manage.py test
Creating test database for alias 'default'...
Traceback (most recent call last):
File "C:\Python36\lib\site-packages\django\db\backends\utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
psycopg2.ProgrammingError: column instructions_instruction.pay does not exist
LINE 1: "...on"."quota", "instructions_instruction"."target", "instructi...
^
Run Code Online (Sandbox Code Playgroud)
但是,如果我启动 psql …
我正在开发一个网络抓取工具,我正在抓取的网站的script
页面上有一个元素,如下所示:
<script type="text/javascript">
jQuery(window).load(function($) {
Morris.Line({
element: 'mpr-graph',
data: [
{'date': '25-04-2017','y':'1.05'},
{'date': '25-04-2017','y':'1.50'},
...
Run Code Online (Sandbox Code Playgroud)
我想要的是:
我想获取data
传递给的对象的属性Morris.Line
,以便我可以将数据转换为可用的东西。
我已经设法使用周围的 div 的 id 和标签 name 选择正确的元素作为 Selenium WebElement script
,但现在我陷入困境。
有没有办法使用 Selenium 获取脚本元素的文本?该text
属性为空,因为它仅返回页面上显示的给定元素的文本。
我尝试过的:
由于我能够通过抓取元素的 text 属性来获取浏览器控制台中的文本,因此我尝试使用execute_script
.
script_text = driver.execute_script("return document.getElementById('avg').getElementsByTagName('script');")
Run Code Online (Sandbox Code Playgroud)
这会返回一个 WebElement,因此我们回到了第 1 步,但至少我们知道它正在工作,因此我们可以继续:
script_text = driver.execute_script("return document.getElementById('avg').getElementsByTagName('script').text;")
Run Code Online (Sandbox Code Playgroud)
我认为这可能有效,因为它在浏览器控制台中有效,但 Selenium 不返回任何内容。
script_text = driver.execute_script("return document.getElementById('avg').getElementsByTagName('script').innerHTML;")
Run Code Online (Sandbox Code Playgroud)
如上。