用自动化工具跑浏览器操作时,接代理IP的位置和普通程序不太一样。工具管理的是整个浏览器实例,代理要配在实例启动那一刻,作用范围覆盖实例里的所有请求。这个差别决定了配置的时机和生效范围,也决定了出问题时要往哪里查。
工具里配代理的两处地方
一处是启动参数,在实例起来的时候把代理信息传进去,作用于这个实例里的所有请求。另一处是配置文件,把代理写在工具的设置里,每次启动自动读取。前者适合脚本里临时指定,后者适合长期固定的配置。两者同时存在时,通常以启动参数为准。
启动参数怎么写
启动参数里通常要写清三样:代理的位置、端口、以及访问凭据。不同的工具写法略有出入,有的把三样拼成一个字符串,有的分开成几个选项。写完之后最好先用一个简单的页面确认,看看访问时用的是不是这条线路,再拿去做正式任务。
配置文件放在哪
配置文件一般放在工具自己的目录下,按项目分文件。多个项目共用一台机器时,每个项目一份配置,改动只影响自己那一份。配置里除了代理,往往还有浏览器版本、窗口尺寸这些设置,一并写好可以避免每次启动都要重复指定。
接上之后要验什么
验的内容有三项。第一项是通不通,页面能不能正常打开。第二项是算不算数,访问时对端看到的是不是配置里那条线路。第三项是稳不稳,连续跑一段时间看会不会中途掉线。三项都过了,才适合拿去做正式任务。代理IP在自动化里通常按实例分配,验收也按实例做一遍就够。
- 打开一个简单页面,确认能访问
- 核对访问时对端看到的来源
- 连续跑一段时间,观察是否掉线
- 三项都过再投入正式任务
问:工具里配了代理,为什么看起来没生效?
答:先确认代理是配在实例启动那一刻,还是配在某一次请求上。配错位置时,实例里的请求仍然走本机网络。其次确认参数有没有被别的设置覆盖,启动参数与配置文件同时存在时,要看工具以哪一个为先。
多个实例怎么分开
同时开多个实例时,每个实例配一条线路,实例之间互不影响。要注意的是同一个实例内的所有窗口共用一条线路,如果任务要求不同窗口走不同的线路,需要拆成多个实例来跑。这一点在规划阶段就要想清楚,事后再拆会麻烦很多。
退出时要不要清理
临时改过的设置,任务结束之后建议恢复,免得下次启动时带着上一次的配置跑。长期固定的配置不必动。另外,实例退出时残留的临时文件也值得清理一下,尤其在长时间连续运行的场合,这些文件累积起来会占地方。
配在实例上,作用范围就是整个实例。
浏览器自动化接代理,难点不在写法,而在搞清作用范围。配置写在启动那一刻,影响的就是整个实例;写在单次请求上,影响的只是那一次。代理IP在自动化场景里通常按实例分配,一个实例一条线路,任务之间自然隔开。先定作用范围,再动手配置。
