2017-12-27 115 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

相關問題