js 抓取网页内容(如何使用RPA工具进行自动化工具?工具)

优采云 发布时间: 2022-01-18 21:07

  js 抓取网页内容(如何使用RPA工具进行自动化工具?工具)

  背景

  RPA工作流程中最常见的场景是操作浏览器对页面内容进行相关操作。在此示例中,以页面为例。它将带领您探索如何使用 RPA 工具自动爬取页面的文本内容。

  本文将使用 JavaScript 语言开发 RPA 脚本。这里使用的 RPA 工具 LeanRunner 可以直接从 Windows 应用商店下载。它可以支持使用node.js的开源自动化库进行RPA开发。用户可以按照以下步骤逐步实现自己的RPA脚本。

  脚步

  新项目

  打开LeanRunner,选择【项目】--【新建】--【选择基础项目模板】,输入项目名称:demo,选择项目路径:

  

  安装依赖库

  Selenium-webdriver 是一个流行的网络自动化库。chromedriver 库可用于驱动 Chrome 自动化各种网页。当然,文本提取不是问题。本 RPA 使用这两个库来实现功能。所以创建项目后,需要安装相应的库。

  单击 LeanRunner 打开命令行工具按钮

  

  ,执行安装命令:

  npm init -ynpm install chromedriver selenium-webdriver @types/selenium-webdriver --save

  注:npm作为node.js的包管理机制,需要安装node.js环境才能使用

  (下载链接:)

  定义流程步骤

  定义流程步骤以使自动化流程可读。

  一个。打开main.js,在【工具箱】-【框架】中找到stepGroup方法,拖拽到js文件中。

  

  湾。在弹出的对话框中输入描述文字: 抓取网页的文字内容,点击插入代码。

  

  C。此时main.js的文件内容:

  const { stepGroup } = require('leanrunner');async function main() { await stepGroup("抓取网页文本内容", async () => { })}

  d。继续拖动【工具箱】--【框架】中的step方法来描述文字输入:用Chrome浏览器打开网站要抓取:

  

  e. 按照上面的步骤,再次插入抓取文本并关闭浏览器的步骤定义。

  main.js 如下:

  const { step } = require('leanrunner');const { stepGroup } = require('leanrunner');async function main() { await stepGroup("抓取网页文本内容", async () => { await step("使用Chrome浏览器打开要抓取的网站", async (world) => { }) await step("抓取文本", async (world) => { }) await step("关闭浏览器", async (world) => { }) })}

  F。插入Workflow.run函数,RPA执行最终会被执行,在【工具箱】-【框架】中选择Workrun.run()函数:

  

  G。在函数中输入“main”运行:

  最终代码是:

  const { Workflow } = require('leanrunner');const { step } = require('leanrunner');const { stepGroup } = require('leanrunner');async function main() { await stepGroup("抓取网页文本内容", async () => { await step("使用Chrome浏览器打开要抓取的网站", async (world) => { }) await step("抓取文本", async (world) => { }) await step("关闭浏览器", async (world) => { }) })}Workflow.run(main);

  实施步骤

  参考 selenium-webdriver API

  ()。分别执行上述步骤:

  一个。使用Chrome浏览器打开要抓取的网站:

  const WebDriver = require('selenium-webdriver');let driver = new WebDriver.Builder().forBrowser('chrome').build();const url = 'http://wufazhuce.com/one/2558';await driver.get(url);

  上面的代码创建一个 WebDriver 实例,打开一个浏览器窗口,并导航到目标 url。

  湾。抓住文字:

  let text = await driver.findElement({ css:'div[]'}).getText();console.log(text);

  上面的代码使用 CSS 选择器来定位要访问的元素并打印输出。

  C。关闭浏览器

  await driver.close();

  最终实现的代码如下:

  const { Workflow } = require('leanrunner');const { step } = require('leanrunner');const { stepGroup } = require('leanrunner');require('chromedriver');const WebDriver = require('selenium-webdriver');let driver = new WebDriver.Builder().forBrowser('chrome').build();async function main() { await stepGroup("抓取网页文本内容", async () => { await step("使用Chrome浏览器打开要抓取的网站", async (world) => { const url = 'http://wufazhuce.com/one/2558'; await driver.get(url); })        await step("抓取文本", async (world) => { let text = await driver.findElement({ css:'div[]'}).getText(); console.log(text); world.attachText(text); }) await step("关闭浏览器", async (world) => { await driver.close() }) })}Workflow.run(main);

  实施

  单击“运行”按钮

  

  ,或单击运行项目按钮

  

  可以看到浏览器打开网页并在 LeanRunner 设计器的输出面板中打印出文本内容。

  

  如果是正在运行的项目,也会显示html运行报告:

  

  对于用户来说,html 报告更具可读性。

  总结

  至此,我们已经完成了一个操作基本网页的RPA。后续操作可以在此RPA的基础上进一步深化,例如将抓取的文本内容存储在Excel表格中,或者存储在数据库中。

  本文使用的selenium-webdriver自动化库是一个非常流行的开源库,支持各种类型的浏览器,可以及时更新支持最新版本的浏览器。Node.js 也是一个非常流行的开源平台。基于此类技术的RPA自动化脚本的开发保持了RPA脚本的可用性和可维护性。结合LeanRunner RPA平台,可以帮助企业快速打造属于自己的流程自动化。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线