[英]Python: how to click on an opened outlook email (win32)
我需要點擊一個打開的 outlook email,一個特定的批准鏈接,上面寫着“批准請求”。
我正確打開了通緝的email,但是無法點擊具體鏈接。 這是代碼:
import win32com.client
outlook=win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox=outlook.GetDefaultFolder(6)
messages = inbox.Items
messages.Sort("[ReceivedTime]", Descending=True)
for i in range(100):
message = messages.GetNext()
print(""+message.Subject, str(message.ReceivedTime))
if message.Subject == "Mail to approve request":
message.Display(False)
else:
pass
您將需要解析MailItem.HTMLBody
屬性,提取相關鏈接,使用該鏈接啟動瀏覽器。
此外,永遠不要遍歷文件夾中的所有項目,使用Items.Find/FindNext
或Items.Restrict
查詢"[Subject]='Mail to approve request'"
在 Python 中有幾種方法可以通過編程方式打開超鏈接。 How to open a URL in python頁面說明了可能的情況。 例如:
import os
os.system("start \"\" https://example.com")
使用HTMLBody屬性,該屬性返回表示指定項目的 HTML 正文的字符串。 因此,您可以通過解析消息正文並以編程方式執行它,以編程方式找到所需的 URL。
最后,要查找符合您的條件的項目,請使用Items
class 的Find
/ FindNext
或Restrict
方法。 在以下文章中閱讀有關它們的更多信息:
請參閱使用查詢關鍵字過濾項目以正確構建搜索條件字符串。
此外,您可能會發現應用程序 class 的AdvancedSearch
方法很有幫助。 在 Outlook 中使用AdvancedSearch
方法的主要好處是:
AdvancedSearch
方法會在后台自動運行它。Restrict
和Find
/ FindNext
方法可以應用於特定的Items
集合(請參閱 Outlook 中Folder
class 的Items
屬性)。Store
類的IsInstantSearchEnabled
屬性)。Search
class 的Stop
方法停止搜索過程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.