我試圖用Pywinauto
獲得Chrome標籤的url
這樣的:如何從Python獲取來自Chrome的網址?
(僞代碼)
- 按F6直接鏈接線。
- 按Ctrl + C,從剪貼簿
- 新政複製網址
- 獲取URL與BS4,採購,硒的URL等
我與第1步完成,停留在第2步同樣,我不知道如何處理第3步。因此,我認爲我發現的方法不正確,效率不高。 有人可以建議我應該做什麼或給我一個更好的方法?
我試圖用Pywinauto
獲得Chrome標籤的url
這樣的:如何從Python獲取來自Chrome的網址?
(僞代碼)
我與第1步完成,停留在第2步同樣,我不知道如何處理第3步。因此,我認爲我發現的方法不正確,效率不高。 有人可以建議我應該做什麼或給我一個更好的方法?
只是爲了總結所有的評論中一個答案......
pywinauto 0.5.4
是不是能夠得到從Chrome中的網址不一樣TypeKeys
和剪貼板抓住竅門。來pywinauto 0.6.0
將能夠做到這一點正確的方式。
如果Chrome已在運行,只需使用connect
而不是start
。
我也推薦TypeKeys("^c", set_foreground=False)
,因爲URL已經集中在{F6}
之後,焦點可能會切換到主窗口。
Application().connect(title=u'How can I get a url from Chrome by Python? - Stack Overflow - Google Chrome', found_index=0)
也比較好,因爲標題應該是唯一的。如果有2個窗口found_index=0
或1
是有用的。
要獲取剪貼板數據:
from pywinauto import clipboard
print(clipboard.GetData())
真的非常感謝您的幫助!我有最後的問題。您的建議效果很好,但會引發pywinauto.findwindows.WindowAmbiguousError,這意味着它找到兩個以上匹配的窗口。但是,我確信我只打開一個窗口,名爲「我怎樣才能從Python獲取網址? - Stack Overflow - Google Chrome」。你有沒有遇到過這個問題?!再次感謝你! –
除了標題之外,可能'found_index = 0'會幫助你(沒有測試它,但我應該工作)。 –
如果您只想將剪貼板中的內容粘貼到字符串中,則可以使用其中一種包裝pyperclip
或clipboard
,這兩種包裝均可通過pip安裝。
import pyperclip
print(pyperclip.paste())
#or equivalently...
import clipboard
print(clipboard.paste())
將給出輸出'http://stackoverflow.com/questions/35475103/how-can-i-get-a-url-from-chrome-by-python'
(兩次...),如果我複製此網頁的網址。
謝謝你幫助我!你的回答完全解決了我的第三步問題! –
這不是很清楚你試圖做...你想從已經打開'Chrome'瀏覽器窗口中複製網址使用它呢?你想在哪裏使用它? – Andersson
'pywinauto 0.5.4'無法從Chrome獲取網址,而無需使用類似於「TypeKeys」和剪貼板抓取的技巧。即將到來的'pywinauto 0.6.0'將能夠做到這一點。 –
@安德森對不起,不清楚。我想獲取網址並使用BS4,Requests,Selenium來處理它。例如,我可能會通過url獲取網站中的表格。希望能幫助到你!謝謝! –