影刀RPA新手教程:读取文字完全指南——让影刀把网页上的文字读出来存到变量里

影刀RPA新手教程:读取文字完全指南——让影刀把网页上的文字读出来存到变量里

大家好,我是林焱。

今天教你让影刀把网页上的文字读出来,存到变量里。这是数据采集的基础。

先搞懂:什么是"读取文字"

你平时上网,用眼睛看网页上的文字。

让影刀"读取文字",就是让影刀替你把网页上的文字"看"下来,存到一个变量里,后面想怎么用就怎么用。

你学会了读取文字,就能让影刀帮你采集任何网页上的数据。

12大核心模块先认识一下

学影刀RPA,总共就这12个核心模块:

  1. 打开网页
  2. 点击元素
  3. 输入文字
  4. 读取文字(今天学这个)
  5. 等待元素出现
  6. 网页截图
  7. 元素捕捉
  8. XPath
  9. CSS选择器
  10. 获取元素对象
  11. 循环
  12. 变量

今天重点学第4个:读取文字。

案例主线:打开百度搜索"影刀RPA",把搜索结果第一条的标题读出来

我们今天要做的事情:

第一步:让影刀自动打开百度首页
第二步:在搜索框里输入"影刀RPA"
第三步:点击"百度一下"按钮
第四步:等待搜索结果页面加载完
第五步:把第一条搜索结果的标题文字读出来,存到变量里
第六步:用"打印日志"把读到的标题显示出来

做完你就彻底懂了:怎么让影刀读取任何网页上的文字。

第一步:新建应用,打开百度首页

打开影刀RPA,新建一个应用。

拖一个"打开网页"指令到流程编辑区。

右边属性设置区里,填写:

网址:https://www.baidu.com 浏览器类型:Chrome 等待加载完成:是 保存网页对象至:百度网页

第二步:用XPath找到搜索框,输入"影刀RPA"

拖一个"获取元素对象"指令到流程编辑区。

定位方式选"XPath",填入:

//*[@id="kw"]

保存元素对象至:搜索框

店群矩阵自动化突破运营极限!

再拖一个"输入文字"指令:

操作目标:搜索框(变量) 输入内容:影刀RPA 输入方式:模拟输入 输入前清空:是 输入后回车:否

第三步:点击"百度一下"按钮

拖一个"获取元素对象"指令。

定位方式选"XPath",填入:

//*[@id="su"]

保存元素对象至:百度一下按钮

再拖一个"点击元素"指令:

操作目标:百度一下按钮(变量) 点击方式:模拟点击 等待after点击:是 等待时间(秒):3

第四步:等待搜索结果页面加载完

拖一个"等待元素出现"指令到流程编辑区。

操作目标用XPath:

//h3[@class="t"]/a

超时时间填10秒。

意思是:等搜索结果的标题出现了,再继续往下走。

第五步:用XPath找到第一条搜索结果,读取标题文字

拖一个"获取元素对象"指令。

定位方式选"XPath",填入:

//h3[@class="t"]/a

保存元素对象至:第一条搜索结果

再拖一个"获取元素文本"指令到流程编辑区。

右边属性设置区里:

操作目标:第一条搜索结果(变量) 保存文本至:第一条标题 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/40b4b3e05fd24702bbdc802ac709d782.png#pic_center)

第六步:理解"获取元素文本"的每个参数

“操作目标”:你要读取哪个元素的文字,就选那个元素变量。

“保存文本至”:读到的文字存到哪个变量里。后面要用这个变量。

“获取方式”:一般选"元素文本",就是元素里面显示的文字。

有些元素里还有子元素,如果你想读取包括子元素在内的所有文字,选"元素内全部文本"。

第七步:用"打印日志"看看读到了什么

拖一个"打印日志"指令到流程编辑区。

右边属性设置区里,“内容"选择变量"第一条标题”。

点击"运行"按钮。

运行完之后,在运行日志窗口里,你能看到第一条搜索结果的标题文字。

恭喜你!你让影刀成功读取了网页上的文字。

我当时踩过的坑

坑一:"获取元素文本"读出来是空的。原因:元素还没加载完就去读了。解决办法:在读取之前,加一个"等待元素出现"指令。

坑二:读出来的文字带有多余的空格和换行。解决办法:用"字符串替换"指令,把空格和换行替换掉。

坑三:有些文字是用JavaScript动态加载的,直接读读不到。解决办法:等几秒,或者用"执行JS"指令去读。

坑四:元素里面还有子元素,读出来的文字重复了。解决办法:把"获取方式"改成"元素文本",而不是"元素内全部文本"。

真实代码:读取文字的XPath示例

以下是我平时用来读取文字的XPath:

# 读取百度搜索框里的文字(value属性) //*[@id="kw"]/@value # 读取"百度一下"按钮上的文字 //*[@id="su"]/@value # 读取第一条搜索结果的标题文字 //h3[@class="t"]/a/text() # 读取某个div里面的所有文字 //div[@id="content"]//text() # 读取表格第一行的第一列文字 //table[@id="mytable"]/tbody/tr[1]/td[1]/text()

注意:/text()是XPath里用来读取文字的函数。

真实代码:读取文字的CSS选择器示例

CSS选择器本身不能读取文字,但可以定位到元素,然后用"获取元素文本"指令来读。

/* 定位到百度搜索框 */#kw/* 定位到"百度一下"按钮 */#su/* 定位到第一条搜索结果的标题 */h3.t a/* 定位到class等于content的div */div.content

定位到元素之后,用"获取元素文本"指令读取文字。

真实代码:Python里读取文字

如果你会用Python,也可以直接用代码来读取网页文字:

temu店群自动化报活动案例

fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByimporttime driver=webdriver.Chrome()driver.get("https://www.baidu.com")# 输入搜索关键词search_box=driver.find_element(By.ID,"kw")search_box.send_keys("影刀RPA")# 点击"百度一下"submit_btn=driver.find_element(By.ID,"su")submit_btn.click()# 等待搜索结果加载time.sleep(3)# 读取第一条搜索结果的标题first_result=driver.find_element(By.CSS_SELECTOR,"h3.t a")print(first_result.text)driver.quit()

first_result.text就是读取元素的文字内容。

真实代码:配置参数完整示例

"获取元素文本"指令的完整配置参数:

指令名称:获取元素文本 操作目标:第一条搜索结果(变量) 获取方式:元素文本 保存文本至:第一条标题

"等待元素出现"指令的完整配置参数:

指令名称:等待元素出现 操作目标:第一条搜索结果(变量) 超时时间(秒):10 检查间隔(毫秒):500

怎么读取输入框里的文字(value属性)

有些时候,你要读取的不是元素显示的文字,而是输入框里的value属性。

比如百度搜索框,你输入了"影刀RPA",搜索框里显示的文字就是value属性的值。

要用"获取元素属性"指令,而不是"获取元素文本"指令。

操作目标:搜索框(变量) 属性名:value 保存属性值至:搜索框内容

这样"搜索框内容"变量里,就存了"影刀RPA"。

home.linyan.cloud

你可以去 home.linyan.cloud 看看更多影刀RPA的学习资料。

今天你学到了什么

今天你学会了:

  • 怎么用"获取元素文本"指令读取网页上的文字
  • "获取元素文本"指令里每个参数的含义
  • 怎么读取输入框里的文字(用"获取元素属性"指令)
  • 怎么把读取到的文字存到变量里
  • 怎么用"打印日志"显示读取到的文字

读取文字是数据采集的基础。今天学扎实了,后面学数据采集就快。

练习题(可选)

如果你愿意,可以自己试试:

让影刀打开百度,搜索"影刀RPA",不只读第一条搜索结果的标题,而是把前5条结果的标题都读出来。

提示:需要用"循环"指令,配合"获取相似元素列表"指令。

内容标签

影刀RPA # 新手教程 # 读取文字 # 零基础 # 入门教程 # RPA自动化 # 网页自动化 # 数据采集

作者:林焱