如何使用 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 循环需要特定的时间才能运行?
使用带有 Laravel PHP 的 Gmail Api 读取网站上的所有 gmail 收件箱,然后回复特定的电子邮件