小编Gre*_*eka的帖子

Mailgun:消息"已接受"但需要很长时间才能发送(或未发送)

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

email mailgun

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

Django 测试错误:列不存在

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 …

python django postgresql

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

使用 Selenium 从脚本元素获取“文本”

我正在开发一个网络抓取工具,我正在抓取的网站的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)

如上。

javascript python selenium

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

标签 统计

python ×2

django ×1

email ×1

javascript ×1

mailgun ×1

postgresql ×1

selenium ×1