如何使用 python 编码读取特定网站的控制台日志(例如,ok、connected 等消息)?

Posted

技术标签:

【中文标题】如何使用 python 编码读取特定网站的控制台日志(例如,ok、connected 等消息)?【英文标题】:How can I read console log (e.g. messages like ok, connected..) of particular website by using a python coding? 【发布时间】:2019-07-11 16:49:40 【问题描述】:

我想知道如何使用 Python 读取特定网站的控制台日志输出以实现自动化。

目前我正在尝试使用 Selenium 读取控制台数据,但没有可用于读取日志的功能,我可以读取消息但无法读取实时数据。

还有其他可以使用的库吗?

【问题讨论】:

Detect javascript console output with python的可能重复 我也试过这个命令,但它不会给我一个准确的输入,只会显示警告消息。 【参考方案1】:

一种方法是通过以下方式启动 Chrome:chrome.exe" --enable-logging

然后你可以写一个函数,它会实时读取 chrome_debug.log,例如这样的:

   source = open(r'C:\Users\spolm\AppData\Local\Google\Chrome\User Data\chrome_debug.log' , encoding="utf-8")`
   export=[]
   for line in source:  
     try:
        loadline=line.strip()
        x+=1
        export.append(loadline)

      except UnicodeEncodeError:
        line.strip()
        x+=1
        pass
      except UnicodeDecodeError:
        line.strip()
        x+=1
        pass

【讨论】:

【参考方案2】:

事实证明,这并不是那么微不足道。没有时间尝试,但可能找到了一些选择:

选项 A

    Get console content with JS

    Run JS with webdriver: driver.execute_script(script,*args)

    Get value back to python from selenium

选项 B

带有 Selenium 的 Chrome 开发工具 API:

Selenium side

DevTools side

【讨论】:

以上是关于如何使用 python 编码读取特定网站的控制台日志(例如,ok、connected 等消息)?的主要内容,如果未能解决你的问题,请参考以下文章

如何确保 Python while 循环需要特定的时间才能运行?

如何使用python 2.7从特定文件中读取环境变量

使用带有 Laravel PHP 的 Gmail Api 读取网站上的所有 gmail 收件箱,然后回复特定的电子邮件

使用 Python 读取 Excel 文件,如何获取具有指定列名的特定列的值?

Python:读取文件时如何忽略两个特定单词之间的文本?

Python - 如何在 Python 中从 Google 表格中读取特定范围的行和列?