您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“python slack桌面自動化開發(fā)工具怎么使用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
自動選擇組和頻道。 根據(jù)組名,自動點擊左側(cè)導(dǎo)航欄:
我使用 Clicknium Recorder 在 slack 上記錄 UI 元素,并使用參數(shù) {{group}} 對其進行更新,如下所示,用于參數(shù)定位器
我將窗口的標(biāo)題設(shè)置為“Slack*”,因為 clicknium 支持通配符匹配,它可以提高自動化定位的健壯性。 并且我將 tabitem 名稱添加到參數(shù)"group",然后我可以在運行階段指定group。
from clicknium import clicknium as cc, locator, ui ui(locator.slack.tabitem_group, {'group':group}).click()
與自動點擊頻道類似。
if not cc.is_existing(locator.slack.treeitem_channel, params): ui(locator.slack.treeitem_parent).click() ui(locator.slack.treeitem_channel, params).click()
由于有時頻道列表被折疊,所以我檢查目標(biāo)頻道是否存在,如果沒有,需要先單擊頻道以結(jié)束頻道列表。
通過獲取右上角的信息文本來獲取聯(lián)系人計數(shù),然后解析文本。
text = ui(locator.slack.text_all, params).get_text() index = text.find("members") count = int("".join(re.findall("\d+",text[0:index])))
通過單擊右上角的信息顯示聯(lián)系人列表對話框。
由于聯(lián)系人列表是動態(tài)加載的,所以我們抓取了將近 10 個項目,需要向下滾動滾動條來加載新聯(lián)系人
for i in range(1,13): dict = {"index":i} if not cc.is_existing(locator.slack.listitem_member, dict): continue elem_member = ui(locator.slack.listitem_member, dict) name = elem_member.get_text() if NotContains(names, name): names.append({'name':name,'email':'', 'postfix':''}) step += 1 if step % 100 == 0: SaveToFile(names) ## move mouse down to trigger new data loaded for member list ui(locator.slack.edit_membername).click(by='mouse-emulation') for i in range(10): cc.send_hotkey("{DOWN}")
我單擊查找成員編輯框,然后發(fā)送快捷鍵"DOWN"十次,它將觸發(fā)加載新聯(lián)系人。 為了獲取每個成員名稱,我使用以下參數(shù)定位器:
在上面的部分中,我展示了如何從頻道中抓取聯(lián)系人列表,在本部分中,我展示了如何抓取每個聯(lián)系人的詳細信息,例如電子郵件地址。 (如果頻道沒有顯示電子郵件地址,您可以跳過此部分)。
與上述部分相同,自動選擇組和頻道。
通過單擊右上角的信息顯示聯(lián)系人列表對話框。
輸入聯(lián)系人姓名搜索聯(lián)系人
ui(locator.slack.text_all, params).click() ui(locator.slack.edit_membername).set_text(item['name'], "set-text")
如果匹配,單擊以顯示聯(lián)系人的個人資料,然后獲取電子郵件文本 要單擊搜索結(jié)果,我使用以下定位器, 使用參數(shù)"name"設(shè)置名稱并取消選中 listitem 層。
本節(jié)中的錯誤處理:
如果搜索失敗,需要關(guān)閉對話框并迭代到下一個聯(lián)系人。
如果無法獲取電子郵件信息,需要關(guān)閉個人資料選項卡并迭代到下一個聯(lián)系人。
member1 = cc.wait_appear(locator.slack.listitem_member1, {'name':item['name']}) if member1 != None: member1.click() else: print("failed to search the member") item['email'] = "ignore" item['postfix'] = "" ui(locator.slack.image).click() continue try: email = ui(locator.slack.text_email).get_text(timeout=5) item['email'] = email item['postfix'] = email.split('@')[1] except: print("failed to find the email") item['email'] = "ignore" item['postfix'] = "" if cc.is_existing(locator.slack.image): ui(locator.slack.image).click() continue
“python slack桌面自動化開發(fā)工具怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。