随着科技的快速发展,人工智能(AI)和机器人流程自动化(RPA)正在不断地改变我们的工作方式。在过去的几年中,RPA的热度逐渐被AI所超越。那么,如果将二者结合,会产生怎样的火花呢?本文将探索AI+RPA在自动网页操作方面的应用场景,并向您介绍如何打造一个可以自动执行网页搜索任务的人工智能小助手。
现在网页操作不再需要我们手动进行繁琐的点击和输入,通过AI+RPA的技术,我们可以让AI小助手自动完成这些任务。例如,我们可以使用Selenium WebDriver结合Semantic Kernel 来完成具体的网页自动化操作。Selenium是一个流行的自动化测试框架,其WebDriver工具可以模拟人类对网页的操作,如点击、填写表单等。
首先,我们需要为我们的.NET项目添加如下两个包:
Selenium.WebDriver:这是Selenium的核心组件,提供了与WebDriver交互的API。
Selenium.WebDriver.ChromeDriver:这个包包含了ChromeDriver,是Chrome浏览器的一个自动化驱动程序。在使用时,必须确保其版本与当前浏览器版本一致,否则可能无法正常工作。
我们先来看看效果吧!!
为了简化任务,我们直接使用Chrome的F12开发者工具来抓取百度搜索框和搜索按钮的元素ID。这里特别说明,未来我们计划让AI通过解析HTML文档自动识别和决策,进一步提升自动化程度。
接下来,通过以下核心代码,我们可以让AI小助手自动打开百度,输入搜索关键字,并点击搜索按钮:
[KernelFunction, Description("打开百度搜索")]
public string OpenBaidu([Description("搜索关键字")] string key)
{
try
{
// 使用WebDriver打开百度首页
driver.Navigate().GoToUrl("http://www.baidu.com");
// 找到搜索框并输入关键字
IWebElement element = driver.FindElement(By.Id("kw"));
element.SendKeys(key);
// 找到搜索按钮并点击
IWebElement button = driver.FindElement(By.Id("su"));
button.Click();
// 稍等片刻让搜索结果加载完成
Thread.Sleep(1000);
// 获取搜索结果的容器对象
IWebElement body = driver.FindElement(By.Id("content_left"));
// 获取并返回搜索结果的文本内容
string bodyContent = body.GetAttribute("innerText");
return bodyContent;
}
catch (Exception ex)
{
return ex.Message;
}
}
通过执行上述代码,AI小助手将自动完成搜索并输出搜索结果。这不仅体现了技术的进步,还为自动化任务提供了无限的可能。
如果你对这个Semantic Kernel与WebDriver相结合的项目感兴趣,我将项目的源代码放在了GitHub上,方便大家查看和使用。你可以访问下面的链接获取源代码:
https://github.com/xuzeyu91/Avalonia-Assistant/tree/main
相关文章:
探索Avalonia与SemanticKernel打造全能AI本地助手