影刀RPA新手教程:读取文字完全指南——让影刀把网页上的文字读出来存到变量里
影刀RPA新手教程:读取文字完全指南——让影刀把网页上的文字读出来存到变量里
大家好,我是林焱。
今天教你让影刀把网页上的文字读出来,存到变量里。这是数据采集的基础。
先搞懂:什么是"读取文字"
你平时上网,用眼睛看网页上的文字。
让影刀"读取文字",就是让影刀替你把网页上的文字"看"下来,存到一个变量里,后面想怎么用就怎么用。
你学会了读取文字,就能让影刀帮你采集任何网页上的数据。
12大核心模块先认识一下
学影刀RPA,总共就这12个核心模块:
- 打开网页
- 点击元素
- 输入文字
- 读取文字(今天学这个)
- 等待元素出现
- 网页截图
- 元素捕捉
- XPath
- CSS选择器
- 获取元素对象
- 循环
- 变量
今天重点学第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保存元素对象至:第一条搜索结果
再拖一个"获取元素文本"指令到流程编辑区。
右边属性设置区里:
操作目标:第一条搜索结果(变量) 保存文本至:第一条标题 第六步:理解"获取元素文本"的每个参数
“操作目标”:你要读取哪个元素的文字,就选那个元素变量。
“保存文本至”:读到的文字存到哪个变量里。后面要用这个变量。
“获取方式”:一般选"元素文本",就是元素里面显示的文字。
有些元素里还有子元素,如果你想读取包括子元素在内的所有文字,选"元素内全部文本"。
第七步:用"打印日志"看看读到了什么
拖一个"打印日志"指令到流程编辑区。
右边属性设置区里,“内容"选择变量"第一条标题”。
点击"运行"按钮。
运行完之后,在运行日志窗口里,你能看到第一条搜索结果的标题文字。
恭喜你!你让影刀成功读取了网页上的文字。
我当时踩过的坑
坑一:"获取元素文本"读出来是空的。原因:元素还没加载完就去读了。解决办法:在读取之前,加一个"等待元素出现"指令。
坑二:读出来的文字带有多余的空格和换行。解决办法:用"字符串替换"指令,把空格和换行替换掉。
坑三:有些文字是用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自动化 # 网页自动化 # 数据采集
作者:林焱