python?slack桌面自动化开发工具怎么使用


本篇内容介绍了“pythonslack桌面自动化开发工具怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Slack 客户端自动化 - 抓取联系人列表

自动选择组和频道。 根据组名,自动点击左侧导航栏:

我使用 Clicknium Recorder 在 slack 上记录 UI 元素,并使用参数 {{group}} 对其进行更新,如下所示,用于参数定位器

我将窗口的标题设置为“Slack*”,因为 clicknium 支持通配符匹配,它可以提高自动化定位的健壮性。 并且我将 tabitem 名称添加到参数"group",然后我可以在运行阶段指定group。

fromclickniumimportclickniumascc,locator,uiui(locator.slack.tabitem_group,{'group':group}).click()
  • 与自动点击频道类似。

ifnotcc.is_existing(locator.slack.treeitem_channel,params):ui(locator.slack.treeitem_parent).click()ui(locator.slack.treeitem_channel,params).click()

由于有时频道列表被折叠,所以我检查目标频道是否存在,如果没有,需要先单击频道以结束频道列表。

  • 通过获取右上角的信息文本来获取联系人计数,然后解析文本。

text=ui(locator.slack.text_all,params).get_text()index=text.find("members")count=int("".join(re.findall("\d+",text[0:index])))
  • 通过单击右上角的信息显示联系人列表对话框。

  • 由于联系人列表是动态加载的,所以我们抓取了将近 10 个项目,需要向下滚动滚动条来加载新联系人

foriinrange(1,13):dict={"index":i}ifnotcc.is_existing(locator.slack.listitem_member,dict):continueelem_member=ui(locator.slack.listitem_member,dict)name=elem_member.get_text()ifNotContains(names,name):names.append({'name':name,'email':'','postfix':''})step+=1ifstep%100==0:SaveToFile(names)##movemousedowntotriggernewdataloadedformemberlistui(locator.slack.edit_membername).click(by='mouse-emulation')foriinrange(10):cc.send_hotkey("{DOWN}")

我单击查找成员编辑框,然后发送快捷键"DOWN"十次,它将触发加载新联系人。 为了获取每个成员名称,我使用以下参数定位器:

Slack 客户端自动化 - 抓取联系人详细信息

在上面的部分中,我展示了如何从频道中抓取联系人列表,在本部分中,我展示了如何抓取每个联系人的详细信息,例如电子邮件地址。 (如果频道没有显示电子邮件地址,您可以跳过此部分)。

  • 与上述部分相同,自动选择组和频道。

  • 通过单击右上角的信息显示联系人列表对话框。

  • 输入联系人姓名搜索联系人

ui(locator.slack.text_all,params).click()ui(locator.slack.edit_membername).set_text(item['name'],"set-text")
  • 如果匹配,单击以显示联系人的个人资料,然后获取电子邮件文本 要单击搜索结果,我使用以下定位器, 使用参数"name"设置名称并取消选中 listitem 层。

  • 本节中的错误处理:

    • 如果搜索失败,需要关闭对话框并迭代到下一个联系人。

    • 如果无法获取电子邮件信息,需要关闭个人资料选项卡并迭代到下一个联系人。

member1=cc.wait_appear(locator.slack.listitem_member1,{'name':item['name']})ifmember1!=None:member1.click()else:print("failedtosearchthemember")item['email']="ignore"item['postfix']=""ui(locator.slack.image).click()continuetry:email=ui(locator.slack.text_email).get_text(timeout=5)item['email']=emailitem['postfix']=email.split('@')[1]except:print("failedtofindtheemail")item['email']="ignore"item['postfix']=""ifcc.is_existing(locator.slack.image):ui(locator.slack.image).click()continue

“pythonslack桌面自动化开发工具怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注主机评测网网站,小编将为大家输出更多高质量的实用文章!


上一篇:C语言取整及函数使用的方法

下一篇:Vue中的echarts图表怎么实现loading效果


Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器