Python:从每个打开的 Google Chrome 选项卡中获取所有 Urls

标签 python python-3.x google-chrome selenium sqlite

我需要从 python 3 中所有打开的 Google Chrome 选项卡中获取所有 url,而不干扰用户。我在 Windows 10 上使用 Microsoft Visual Studio Python3

我试过:

直接打开它(当前选项卡的路径)——不起作用,因为我没有权限——我认为它被锁定,因为 chrome 主动写入它。

Current_Tabs_Source = open(r"C:\Users\Beni\AppData\Local\Google\Chrome\User 
Data\Default\Current Tabs", "r")
Current_Tabs_Raw = Current_Tabs_Source.read()
print(Current_Tabs_Raw) #just for checking 

PermissionError: [Errno 13] 权限被拒绝

通过 sglite3 打开 -- 不起作用,因为它已锁定。而且我无法在任何地方找到密码。我尝试打开 url 的历史记录,但无论如何都不起作用。

import sqlite3
from os import path

data_path = path.expanduser('~') + r"\AppData\Local\Google\Chrome\User 
Data\Default"
files = listdir(data_path)
history_db = path.join(data_path, 'history')

c = sqlite3.connect(history_db)
cursor = c.cursor()
select_statement = "SELECT urls.url, urls.visit_count FROM urls, visits 
WHERE urls.id = visits.url;"
cursor.execute(select_statement)

results = cursor.fetchall()

print(results) #just for checking

sqlite3.OperationalError: 数据库被锁定

使用 selenium 和第 3 方 chrome 扩展将所有 url 复制到剪贴板——不起作用,因为这些扩展只在事件的 selenium 窗口中工作。所以带有我想要的选项卡的 Windows 不会被复制。

我考虑过破解一个 chrome 扩展,每 30 秒将 url 复制到一个临时文件中。但我只知道最少的 Javascript,所以这件事让我发疯。

那么有人知道在 Python 中执行此操作的方法吗?非常感谢任何其他解决方案。

最佳答案

如果要访问数据库,应关闭所有浏览器。

( Source )

关于Python:从每个打开的 Google Chrome 选项卡中获取所有 Urls,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47995981/

相关文章:

google-chrome - 我的 Polymer 网站在 Firefox 上不起作用

python - `tf.multiply` 和 `*` 和有什么区别?

python - 加速数据帧从字典生成代码

python - 如何从本地计算机或网络资源将图像或图片嵌入到 jupyter notebook 中?

python - 堆栈并评估后缀

javascript - 从工具栏运行内容脚本

Javascript 会导致 Chrome 浏览器崩溃?

python - 当我使用 pandas 的箱线图和子图时出现错误

python pandas 将文本中的数字提取到新列

django - 如何列出自定义目录的所有文件