一、自动化入门:浏览器自动化能做什么、Selenium vs Playwright 选型、电商运营中的典型场景
大家好,我是老张。做电商运营这些年,我最大的感触就是——重复劳动真的能磨光一个人的热情。每天盯着后台,手动上架商品、查库存、看竞品价格……说实话,这些事做久了,你会觉得自己像个机器人。
那为什么不真的让机器人来干呢?
浏览器自动化,说白了就是让程序替你操作网页。你平时手动点鼠标、敲键盘的那些事,它都能干。而且它不会累,不会走神,不会因为手滑点错按钮。
我刚开始接触这个领域时,心里也犯嘀咕:这东西靠谱吗?会不会把店铺搞乱?后来真用上了,才发现——嗯,真香。
1.1 浏览器自动化到底能做什么?
先说说它能干的事。我把它分成三类:
- 数据采集:比如抓竞品的价格、销量、评价。手动复制粘贴?太慢了。自动化脚本跑一遍,几百个SKU几分钟搞定。
- 批量操作:比如批量上架商品、批量修改库存、批量回复客服消息。这些事重复性极高,最适合交给程序。
- 监控与预警:比如盯着某个商品的价格变化,一旦低于成本价就报警。或者监控库存,快断货了自动提醒。
我在项目中遇到过最典型的场景,是帮一个做服装的朋友监控竞品。他每天要手动查30多家店铺的价格,然后调自己的价。用了自动化之后,每天省下至少2小时。他说:「以前觉得这钱花得心疼,现在觉得这钱花得值。」
核心观点:浏览器自动化的本质,就是把「人盯着屏幕操作」变成「程序盯着屏幕操作」。它不改变业务流程,只改变执行方式。
1.2 Selenium vs Playwright:怎么选?
好,问题来了。市面上主流的工具就两个:Selenium 和 Playwright。选哪个?
我个人的习惯是——看场景。没有绝对的好坏,只有合不合适。
先说说 Selenium。它是个老牌工具,2004年就出来了。生态非常成熟,网上资料多,遇到问题基本都能搜到答案。支持的语言也多,Python、Java、C# 都行。
但它有个毛病——慢。真的慢。尤其是处理动态页面时,经常要等。而且它的 API 设计偏底层,写起来代码量比较大。
再说 Playwright。这是微软出的新秀,2019年才发布。它最大的优势是快,而且对现代网页的支持更好。比如单页应用(SPA)、iframe、弹窗这些,它处理起来比 Selenium 顺手得多。
另外,Playwright 自带等待机制。你不需要像 Selenium 那样手动写 time.sleep(),它会自动等元素加载完再操作。这一点,我特别喜欢。
我举个例子:
# Selenium 写法
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://example.com")
time.sleep(3) # 手动等待
element = driver.find_element_by_id("price")
print(element.text)
# Playwright 写法
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://example.com")
element = page.wait_for_selector("#price") # 自动等待
print(element.text_content())
你看,Playwright 的代码更简洁,而且不需要手动估算等待时间。我曾经因为 Selenium 的等待问题踩过坑——页面加载慢了一点,脚本就报错了。换成 Playwright 后,这类问题少了很多。
我的建议:如果你是新手,或者项目对速度要求不高,用 Selenium 入门没问题。但如果你要做大规模自动化,或者页面交互复杂,直接上 Playwright。我个人现在 90% 的项目都用 Playwright。
下面这张表,帮你快速对比:
| 对比项 | Selenium | Playwright |
|---|---|---|
| 发布时间 | 2004年 | 2019年 |
| 速度 | 较慢 | 快 |
| 等待机制 | 需手动写 | 自动等待 |
| 对现代网页支持 | 一般 | 优秀 |
| 学习曲线 | 平缓 | 稍陡 |
| 社区生态 | 非常成熟 | 快速成长 |
1.3 电商运营中的典型场景
光说理论没意思。我挑几个电商运营里最常见的场景,给你拆解一下。
场景一:竞品价格监控
你想想看,每天手动查竞品价格,是不是很烦?尤其是大促期间,价格一天变好几次。用自动化脚本,定时去抓竞品页面的价格数据,存到表格里。一旦发现价格低于你的成本线,自动发邮件或钉钉通知你。
我曾经帮一个做3C数码的客户做过这个。他每天要盯20多个竞品,每个竞品有几十个SKU。手动查?根本查不过来。用了自动化后,他每天早上打开邮箱,就能看到一份完整的竞品价格报表。他说:「这才叫上班嘛。」
场景二:批量上架商品
电商后台的上架流程,你懂的——填标题、写描述、传图片、设价格、选分类……一套下来,一个商品至少5分钟。如果一次上架100个商品,那就是500分钟,8个多小时。
用自动化呢?把商品信息整理成Excel,脚本读进去,自动填到后台。100个商品,20分钟搞定。剩下的时间,你可以去琢磨怎么优化标题、怎么选关键词——这些才是真正创造价值的事。
场景三:库存预警与自动补货
库存管理是个细活。卖得太快,断货了;卖得太慢,压库存。用自动化脚本定时检查库存,低于设定阈值就自动生成采购单,或者直接通知供应商。
我记得有个做食品的客户,双十一期间库存告急,手动补货根本来不及。自动化脚本帮他每10分钟检查一次库存,低于安全库存就自动下单。那个双十一,他店铺的断货率比往年低了70%。
注意:自动化虽好,但别滥用。尤其是涉及登录、支付、修改数据等敏感操作时,一定要加人工确认环节。我曾经见过有人写了个自动下单脚本,结果因为价格配置错误,一口气下了几百个订单……嗯,那场面,挺壮观的。
场景四:客服消息批量回复
大促期间,客服消息能把你淹了。很多问题其实是重复的——「什么时候发货?」「这个有货吗?」「能便宜点吗?」。用自动化脚本,识别关键词,自动回复预设内容。当然,复杂问题还是要人工介入。
说白了,浏览器自动化不是要取代你,而是帮你把那些「不用动脑子」的活干了。你腾出精力,去做真正需要判断力的事。
好了,这一章就聊到这儿。下一章,我们动手搭环境,写第一个自动化脚本。到时候你就知道,这东西其实没那么神秘。