2017-12-27 1014 views
4

我需要从python 3中所有打开的Chrome浏览器标签中获取所有的URL,而不需要用户干预。林在Windows上使用Microsoft Visual Studio Python3 10Python:从每个打开的Google Chrome标签获取所有Url

我用尽:

直接与开放(路径当前选项卡)打开它 - 不工作,因为我没有permission-我认为它锁定,因为铬activly写入它。

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:[错误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:数据库被锁定

使用硒和第三方Chrome扩展到所有的URL复制到剪贴板 - 不工作,因为这些扩展仅在活动窗口硒工作。所以Windows中的标签,我想不要被复制。

我曾考虑过将Chrome扩展每30秒复制一份临时文件。但是我只知道最小的Javascript,所以这件事让我很生气。

那么有没有人知道在Python中做到这一点的方法?任何其他解决方案,不胜感激。

+0

我想不出任何可能的方式这可以在Python来完成。我甚至不知道你如何试图这样使用SQLite,数据库语言...您最好的选择确实是更像JavaScript的前端。 – Mangohero1

+1

这将是有益的,如果你可以分享你一直工作的代码,直到现在,所以我们可以更好地了解你的方法 –

+1

@HamSam我上传了一些代码,所以你可以看到即时尝试 –

回答

0

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

Source

相关问题