sikulix学习笔记③自动将网站信息保存为文本文件(记事本)
这次,我将学习sikulix自动保存文本文件的代码。
上一讲我们实现了自动启动浏览器并访问指定网站,这一讲我们在上一讲的基础上再增加将浏览的信息自动保存为文本文件的功能。
1.上次使用Chrome浏览器显示指定网站
在以前的sikulix②学习笔记中,通过sikulix自动操Chrome浏览器来显示百度网站。
2.信息获取和处理对于RPA自动化至关重要
但是,只是自动浏览信息还不能称作真正的RPA。
只有进一步获取/保存网站上的信息,才能实现RPA。
因此,这一次,我将创建在百度新闻首页获取最新几条新闻并将其保存在文本文件中的程序。
3. 用于获取(复制)网站信息的Sikulix命令
复制网站信息文本需要用到以下三个sikulix命令,这三个命令主要是操作鼠标。
- hover()
- mouseDown()
- mouseMove()
第一个hover()命令将鼠标悬停在参数指定的图像上。
悬停命令可以获取要复制的文本区域的位置。
然后,使用第二个mouseDown(),可以按鼠标左键或右键。这使您可以选择文本范围。
您可以通过在末尾使用mouseMove()在x和y方向上输入数值来移动鼠标光标。它的参数是移动的偏移量,而不是坐标值。
4.将获取的网站信息保存为文本的程序代码
这是Sikulix程序及执行成功后的屏幕截图。
具体代码如下,代码的解释也在其中:
上面程序代码的处理流程可分为两在部分。
第一部分,详见下图
第一部打开的浏览器页面及复制的新闻内容
第二部分,详见下图
第二部分打开的记事本及复制到记事本的新闻内容
完成代码:
#第一部分打开浏览器访问百度新闻网址,复制最新的几条新闻,然后关闭浏览器
#要访问的百度新闻网址
url="http://news.baidu.com/"
#双击桌面chrome快捷方式图标
doubleClick("1591447337679.png")
#等待3秒
wait(3)
#在chrome地址栏键入百度url
paste(url)
#按下回车
type(Key.ENTER)
#等待3秒
wait(3)
#查找热点要闻图片的位置
new=find("1591449275085.png")
#将鼠标移动动热点要闻图片上
hover(new)
#鼠标左移50px,向下移50px
mouseMove(-50,50)
#按下鼠标左键
mouseDown(Button.LEFT)
#拖动鼠标向左300px,向下340px
mouseMove(300,340)
#复制所选文字
type("c",Key.CTRL)
#关闭浏览器当前窗口,因只有一个窗口,所以将浏览器也关闭了。
type("w",Key.CTRL)
#等待3秒
wait(3)
#第2部分打开记事本,粘贴刚复制的新闻,然后关闭记事本
#启动记事本,并将记事本句柄赋值给notepad
notepad=openApp(r"C:\Windows\system32\notepad.exe")
#等1秒,等记事本启动成功
wait(1)
#将刚才复制的文字粘贴到记事本中
type('v',Key.CTRL)
#等待1秒
wait(1)
#保存
type('s', Key.CTRL)
#等待2秒
wait(2)
#保存文件名为test
type("test")
#等待2秒
wait(2)
#按回车键,确认保存
type(Key.ENTER)
#等待2秒
wait(2)
#使notepad.exe获取焦点
notepad.focusedWindow().highlight(2)
#等待2秒
wait(2)
#按alt+f4组合键,关闭记事本
type(Key.F4,Key.ALT)
5.总结
这次,我学习了如何使用sikulix获取网站信息并将其另存为文本文件。
我们实现了获取信息→保存的过程,这个简单的任务尤其适合使用RPA完成。