第一次用嘎嘎降AI?从注册到拿结果完整教程保姆级讲解

核心内容摘要

ollama部署LFM2.5-1.2B-Thinking:3步搞定边缘AI文本生成
离线环境怎么用?Qwen3-0.6B本地化部署指南

Phi-3-mini-4k-instruct效果展示:ollama生成惊艳文案

引言在上一篇文章《基于Chrome140的Google自动化关键词浏览——需求分析环境搭建一》中我们完成了开发环境的准备工作包括Python环境配置、uv包管理器安装、Playwright框架部署以及Chrome浏览器的配置。

现在我们将进入核心开发阶段基于RPA框架构建Google自动化浏览系统。

本文将详细介绍如何使用基于动作执行器action_executor的RPA框架实现Google的智能浏览、交互和状态管理。

通过状态机模式和权重化随机动作系统我们将构建一个既自然又高效的自动化解决方案。

本教程将展示业务核心内容代码框架部分将不作为展示。

RPA框架架构设计核心框架结构基于您提供的代码我们的Google自动化系统采用了成熟的RPA框架设计具有以下核心特性from stubs.rpa import * from functools import partial from typing import Tuple import random import time # 核心组件说明 # - CoreBrowsePage: 浏览器页面基类 # - CorePageObject: 页面对象基类 # - action_exector: 动作执行器装饰器 # - start_main_page_process: 主流程启动器

1 状态机设计模式系统采用状态机模式管理不同的页面状态每个状态对应特定的动作集合home状态Google首页浏览detail状态帖子详情页交互unknown状态异常状态处理

核心动作系统

1智能滚动动作滚动是模拟真实用户浏览行为的基础动作我们实现了支持随机距离、持续时间和方向的智能滚动系统。

action_exector def scroll_action(page: CoreBrowsePage, distance: Tuple[int, int], duration: Tuple[float, float], scroll_down_probability: int): 滚动动作 :param distance: 滚动距离的范围是一个元组如(100,

:param duration: 滚动持续时间的范围是一个元组如(

1,

1.

:param scroll_down_probability: 向下滚动的概率

之间的整数 :param page: 页面对象 pass page.ui_logger.log(fScrolling the page with a random distance between {distance[0]} and {distance[1]} pixels, ) # 如果 滚动到页面底部 则可以选择随机跳转任意一页 if page.page.url.startswith(https://www.google.com/search) and element_in_viewport(page.page, page.page.locator([rolenavigation] table).first): page.ui_logger.log(is scrolling to the bottom of the page, and will randomly jump to another page.) # 随机点击一个分页链接 _pagination_links page.page.locator([rolenavigation] table td a) if _pagination_links.count() 0: _random_index random.randint(0, _pagination_links.count() -

page.ui_logger.log(fclick pagination link: {_pagination_links.nth(_random_index).text_content()}) simulate_mouse_click(page.page, _pagination_links.nth(_random_index)) page.page.wait_for_load_state() return _distance random.randint(*distance) _duration random.uniform(*duration) _scroll_locator page.page.locator(body) if random.randint(0,

scroll_down_probability: # 向上滚动 _distance -_distance smooth_scroll(page.page, _distance, _duration)

2 停留动作模拟停留动作模拟用户阅读和思考的时间是增强真实性的重要组件action_exector def stay_action(page: CoreBrowsePage, stay_time: Tuple[int, int]): 用户停留动作模拟器 模拟真实用户在浏览过程中的阅读、思考停顿时间 Args: page: 浏览器页面对象 stay_time: 停留时间范围 (min_seconds, max_seconds) # 随机生成停留时间 _stay_duration random.uniform(*stay_time) page.logger.info(f用户停留思考: {_stay_duration:.2f}秒) # 执行等待 time.sleep(_stay_duration) # 如果需要截图可以添加截图记录执行 page.save_html_and_screenshot() # 保存html内容和截图 page.logger.info(停留结束继续浏览)

内容交互系统

1智能帖子选择与点击内容交互是Google自动化的核心功能我们实现了智能的帖子识别和点击系统action_exector def detail_action(page: CorePageObject): pass page.ui_logger.log(Viewing details of the current page.) _article_locators page.page.locator(#search a) _selected_article None for _article_locator in _article_locators.all(): if element_in_viewport(page.page, _article_locator) and _article_locator.is_enabled(): _selected_article _article_locator break if not _selected_article: page.ui_logger.log(not found article in viewport, warning) return page.ui_logger.log(fclick article position: {_selected_article.bounding_box()}) _article_title_locator _selected_article if _article_title_locator.count() 0: page.logger.info(fclick article title {_article_title_locator.text_content()}) simulate_mouse_click(page.page, _article_title_locator)

2 返回导航动作返回动作确保用户能够从详情页回到主页面继续浏览action_exector def back_action(page: CorePageObject): pass page.ui_logger.log(Going back to the previous page.) page.page.go_back()

Google关键词搜索页面控制器

1 GoogleSearchBrowsePage核心类Google关键词搜索页面类是整个系统的核心控制器管理页面状态、动作权重和异常处理class GoogleSearchBrowsePage(CoreBrowsePage): Google关键词搜索自动化浏览页面控制器 property def url(self): return fhttps://www.google.com/search?q{self.search_text} property def search_text(self): 搜索关键词获取器 从代理变量中获取搜索关键词配置 支持动态配置不同的搜索关键词 Returns: str: 搜索关键词文本 return self.proxy.use(${search_text}, VariableValue).value() property def random_actions(self): 状态化随机动作配置系统 根据当前页面状态返回对应的动作权重配置 每个动作都有对应的权重值系统会根据权重随机选择执行 property def random_actions(self): return { home: [ (self.scroll_weight, partial(scroll_action, distanceself.scroll_distance, durationself.scroll_time, scroll_down_probabilityself.scroll_down_probability)), (self.stay_weight, partial(stay_action, stay_timeself.home_stay_time)), (self.view_detail_weight, partial(detail_action)), ], detail: [ (self.scroll_weight, partial(scroll_action, distanceself.scroll_distance, durationself.scroll_time, scroll_down_probabilityself.scroll_down_probability)), (self.stay_weight, partial(stay_action, stay_timeself.home_stay_time)), (self.go_back_weight, partial(back_action)), ], }

2 页面状态识别def get_current_state(self): _current_page_url self.page.url self.ui_logger.log(fcurrent page url: {_current_page_url}) if _current_page_url.startswith(https://www.google.com): return home return detail

系统启动与配置

1主流程启动配置系统启动使用框架提供的start_main_page_process函数支持重试机制和超时控制# 系统主流程启动 start_main_page_process( self, # 页面实例 GoogleSearchBrowsePage, # Facebook页面控制器类 retry1, # 失败重试次数 timeout60000 # 超时时间毫秒 )

2 配置参数说明Google自动化系统的行为通过以下权重参数进行调控# 动作权重配置示例 class GoogleSearchBrowsePage(CoreBrowsePage): def __init__(self): super().__init__() # 滚动相关配置 self.scroll_weight 40 # 滚动动作权重 self.scroll_distance (200,

# 滚动距离范围(像素) self.scroll_time (

5,

2.

# 滚动持续时间(秒) self.scroll_down_probability 80 # 向下滚动概率(%) # 停留相关配置 self.stay_weight 30 # 停留动作权重 self.home_stay_time (3,

# 主页停留时间范围(秒) # 交互相关配置 self.view_detail_weight 20 # 查看详情权重 self.go_back_weight 80 # 返回操作权重

额外说明

1框架依赖说明本系统基于成熟的RPA框架构建主要依赖组件包括# 核心依赖模块 from stubs.rpa import ( CoreBrowsePage, # 浏览器页面基类 CorePageObject, # 页面对象基类 action_exector, # 动作执行器装饰器 smooth_scroll, # 平滑滚动函数 element_in_viewport, # 视口检测函数 simulate_mouse_click, # 鼠标点击模拟 start_main_page_process # 主流程启动器 )

2最佳实践建议权重调优根据实际需求调整各动作的权重比例时间控制合理设置停留时间和滚动持续时间异常处理完善check_exception_handler方法的异常检测逻辑日志记录充分利用页面对象的logger进行调试和监控状态管理根据业务需求扩展更多的页面状态结语本文详细介绍了基于RPA框架的Google自动化浏览系统实现方案。

通过动作执行器模式、状态机管理和权重化随机动作系统我们构建了一个功能完整、行为自然的自动化解决方案。

核心技术特点基于装饰器的动作执行器模式代码结构清晰状态机管理不同页面的行为策略权重化随机动作系统模拟真实用户行为智能内容识别和交互机制完善的异常检测和处理框架系统优势高度模块化的设计易于扩展和维护基于成熟RPA框架稳定性有保障智能的页面状态识别和动作选择丰富的配置参数适应不同使用场景通过本文的学习您已经掌握了Google自动化系统的核心开发技术。

在下一篇文章《基于Chrome140的Google自动化关键词浏览——运行脚本三》中我们将重点介绍系统的部署运行、监控管理和性能优化帮助您将开发完成的自动化脚本投入实际应用。

911行情网站电视在线观看高清版可以-911行情网站电视在线观看高清版可以应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123