一键自动化博客发布工具,chrome和firfox详细配置

简介: blog-auto-publishing-tools博客自动发布工具现在已经可以同时支持chrome和firefox了.

blog-auto-publishing-tools博客自动发布工具现在已经可以同时支持chrome和firefox了。

很多小伙伴可能对于如何进行配置和启动不是很了解,今天带给大家一个详细的保姆教程,只需要跟着我的步骤一步来就可以无障碍启动了。

前提条件

前提条件当然是先下载 blog-auto-publishing-tools这个博客自动发布工具,地址如下:https://github.com/ddean2009/blog-auto-publishing-tools

chrome配置

现在的主流浏览器肯定是chrome无疑了。所以我们首先聊一聊如何实现对chrome浏览器的支持。

使用selenium正常启动chrome浏览器

selenium本身就自带对chrome的支持,所以在selenium中使用chrome也是一个非常简单的事情。

  1. 首先你需要下载安装chrome。
  2. 然后使用pip来安装selenium:

    pip install selenium
    
  3. 你需要从ChromeDriver下载页面下载与你的Chrome浏览器版本相对应的ChromeDriver。确保你下载的是与你的操作系统和Chrome版本相匹配的版本。

    1. 然后就可以在代码中使用了:
      ```python
      from selenium import webdriver

    指定ChromeDriver的路径

    driver_path = '/path/to/your/chromedriver' # 替换为你的ChromeDriver路径

    创建一个新的Chrome浏览器实例

    driver = webdriver.Chrome(executable_path=driver_path)

    访问一个网站

    driver.get('http://www.example.com')

     # ... 在这里执行你的Selenium操作 ...  
    
       # 关闭浏览器  
       driver.quit()
       ```
    
       简单是简单,但是这样做的缺点是每次都需要下载一个新的,内置的chrome浏览器,所以在国内的网络环境下,很多人以为是程序被卡死了。
    
       实际上并不是,只是网络慢而已。
    
       事实上,我们已经已经在使用chrome了,为什么不能attach到现有的chrome上运行selenium呢?
    
       ### 使用selenium连接到现有的chrome浏览器
    
       这是blog-auto-publishing-tools正在做事情。
    
       > 优点: 这样做的优点有两个。
       >
       > 第一就是不需要重新下载chrome浏览器。
       >
       > 第二就是可以借助现有浏览器的登录态,不需要每次都在程序中重新登录。因为有些网站的登录条件是很复杂的。比如腾讯云,你需要时不时的进行手机扫码才能登录。
    
       我们的步骤如下:
    
       1. 下载并安装 [Chrome](https://www.google.com/chrome/)。
    
    1. 下载chrome Driver Chrome Driver
    1. chrome 以debug模式启动
      如果是mac电脑,那么可以先给chrome设置一个alias
alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome"

以debug模式启动

chrome --remote-debugging-port=9222

!!!! 注意!!!

chrome启动之后,一定要新开一个空白tab页,或者随便打开一个网站,否则后面的selenium可能会出现假死的情况
在命令行你会看到类似下面的内容:

DevTools listening on ws://127.0.0.1:9222/devtools/browser/d4d05dd2-5b74-4380-b02d-12baa123445

这行ws很重要,我们把它记下来。

如果你是windows,那么在chrome的快捷方式后面加上 --remote-debugging-port=9222 参数。

image-20240503190824756

启动chrome,输入chrome://version 检测 --remote-debugging-port=9222 是否出现在页面上。

image-20240503190854471

然后输入:

http://localhost:9222/json/version
获得 webSocketDebuggerUrl:

image-20240503190939248

  1. 修改配置文件
    修改config/common.yaml 里面的内容:
# chrome driver地址
service_location: /Users/wayne/Downloads/work/chromedriver-mac-arm64/chromedriver
# chrome调试地址
debugger_address: localhost:9222/devtools/browser/4aab2b8b-112c-48a3-ba38-12baa123445

把service_location和debugger_address修改为你自己本机的配置。

你也可以使用简单版本的 debugger_address: localhost:9222
>

我在windows环境下测试过是可以连接的。

在mac环境下有时可以连接,有时候不能连接,大家可以自行测试。
这样,使用下面的代码就可以连接到现有的chrome了:

    # 启动浏览器驱动服务
        service = selenium.webdriver.chrome.service.Service(common_config['service_location'])
            # Chrome 的调试地址
                debugger_address = common_config['debugger_address']
                    # 创建Chrome选项,重用现有的浏览器实例
                        options = selenium.webdriver.chrome.options.Options()
                            options.page_load_strategy = 'normal'  # 设置页面加载策略为'normal' 默认值, 等待所有资源下载,
                                options.add_experimental_option('debuggerAddress', debugger_address)
                                    # 使用服务和选项初始化WebDriver
                                        driver = webdriver.Chrome(service=service, options=options)
                                    ## firefox配置

                                    除了chrome之外,用的最多的应该就是firefox了。

                                    所以blog-auto-publishing-tools也提供了对firefox的支持。

                                    ### 使用selenium正常启动firefox浏览器

                                    要常规使用firefox,你需要下面几部:

                                    1. 下载并安装 [Firefox](https://www.mozilla.org/en-US/firefox/new/)。
  1. 下载geckodriver 驱动.下载与你的Firefox浏览器版本相对应的geckodriver。确保你下载的是与你的操作系统和Firefox版本相匹配的版本。
  2. 在代码中使用:

    from selenium import webdriver  
    
    # 指定geckodriver的路径  
    driver_path = '/path/to/your/geckodriver'  # 替换为你的geckodriver路径  
    
     # 创建一个新的Firefox浏览器实例  
     driver = webdriver.Firefox(executable_path=driver_path)  
    
       # 访问一个网站  
       driver.get('http://www.example.com')  
    
         # ... 在这里执行你的Selenium操作 ...  
    
           # 关闭浏览器  
           driver.quit()
    
       同样的,因为网络问题,所以这种方式在国内的环境中会很慢。
    
       我们看看另外一种方式。
    
       ### 使用selenium连接到现有的firefox浏览器
    
       1. 下载并安装 [Firefox](https://www.mozilla.org/en-US/firefox/new/)。
    
  3. 下载geckodriver 驱动.下载与你的Firefox浏览器版本相对应的geckodriver。确保你下载的是与你的操作系统和Firefox版本相匹配的版本。
  4. 在firefox的启动命令之后加上: -marionette -start-debugger-server 2828
    image-20240504120509315

注意,这里的端口一定要是2828,不能自定义。
这时候你如果打开firefox,就会看到导航栏变成了红色,表示你已经启动了远程调试模式。

image-20240504120607831

输入about:config

可以看到marionette.port的端口就是2828。

  1. 修改配置文件
    修改config/common.yaml 里面的内容:
# firefox driver地址
service_location: "D:\\downloads\\geckodriver-v0.34.0-win32\\geckodriver.exe"

把driver_type修改为firefox。

#driver_type: "chrome"
driver_type: "firefox"

接下来就可以在程序中使用了:

 # 启动浏览器驱动服务
    service = selenium.webdriver.firefox.service.Service(common_config['service_location'],
                                                             service_args=['--marionette-port', '2828',
                                                                                                                                   '--connect-existing'])
                                                                                                                                      # 创建firefox选项,重用现有的浏览器实例
                                                                                                                                          options = selenium.webdriver.firefox.options.Options()
                                                                                                                                              options.page_load_strategy = 'normal'  # 设置页面加载策略为'normal' 默认值, 等待所有资源下载,
                                                                                                                                                  driver = webdriver.Firefox(service=service, options=options)
                                                                                                                                              ## 总结

                                                                                                                                              我在mac上测试了chrome,在windows上同时测试了chrome和firefox。都是可以用的。大家有问题可以私信我。

                                                                                                                                              [点我查看更多精彩内容:www.flydean.com](www.flydean.com)
相关文章
|
21天前
|
Web App开发 安全 iOS开发
基于PyCharm与Mac系统的Chrome历史记录清理工具开发实战
《基于PyCharm与Mac系统的Chrome历史记录清理工具开发实战》详细解析了如何在macOS下通过Python脚本自动化清理Chrome浏览器的历史记录。文章以`clear_chrome_history.py`为例,结合PyCharm开发环境,深入讲解技术实现。内容涵盖进程检测、文件清理、虚拟环境配置及断点调试技巧,并提供安全增强与跨平台适配建议。该工具不仅保障个人隐私,还适用于自动化运维场景,具备较高实用价值。
31 0
|
1月前
|
人工智能 运维 API
无需配置开箱即用!MoLing:基于MCP开发的自动化办公服务,一键搞定文件与网页操作
MoLing是一款基于Go语言开发的跨平台办公自动化工具,通过操作系统API和浏览器自动化框架实现文件操作、命令执行及网页控制,无需额外依赖即可运行。
127 1
无需配置开箱即用!MoLing:基于MCP开发的自动化办公服务,一键搞定文件与网页操作
|
3月前
|
监控 jenkins 测试技术
Ansible与Jenkins:自动化工具的对比
Ansible和Jenkins是自动化领域的两大巨头。Ansible专注于配置管理和任务自动化,采用无代理架构,使用YAML定义配置,具有幂等性和可扩展性。Jenkins则擅长持续集成和持续交付(CI/CD),支持丰富的插件生态系统,适用于自动化构建、测试和部署。两者各有优势,Ansible适合配置管理与大规模部署,Jenkins则在CI/CD方面表现出色。结合使用可创建更强大的自动化工作流,提升团队生产力和软件质量。选择工具时应根据具体需求决定。
|
2月前
|
人工智能 数据可视化 安全
2025年销售自动化工具选型指南
本文探讨了企业在数字经济时代选择合适CRM系统的重要性,分析了选型的5大核心维度:AI能力、全流程闭环管理、生态集成能力、数据安全合规及供应商综合实力。同时对比了5家国内外CRM厂商,如Salesforce、纷享销客、Hubspot等,并指出企业常遇的3大选型误区,包括功能冗余、忽视数据迁移成本和迷信行业模板。文章强调,适合企业的CRM需与战略、管理和业务流程深度适配,而非单纯追求技术堆砌。最终提醒管理者,选择CRM时应以实际需求为导向,而非盲目迷信国际品牌。
|
4月前
|
人工智能 自然语言处理 语音技术
FilmAgent:多智能体共同协作制作电影,哈工大联合清华推出 AI 驱动的自动化电影制作工具
FilmAgent 是由哈工大与清华联合推出的AI电影自动化制作工具,通过多智能体协作实现从剧本生成到虚拟拍摄的全流程自动化。
1488 11
FilmAgent:多智能体共同协作制作电影,哈工大联合清华推出 AI 驱动的自动化电影制作工具
|
4月前
|
Web App开发 人工智能 JSON
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
302 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
|
4月前
|
JavaScript Java 开发工具
AutoTalk第十三期-应知必会的自动化工具-阿里云SDK支持策略(一)
AutoTalk第十三期探讨阿里云SDK支持策略,涵盖四大方面:发布策略、版本规范、更新策略及停止支持策略。重点介绍SDK的及时性、完整性、测试覆盖度和版本命名规范;并以Python部分语言版本停止支持为案例,帮助开发者了解维护策略,确保平稳过渡到新版本。
|
2月前
|
机器学习/深度学习 人工智能 运维
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
机器学习+自动化运维:让服务器自己修Bug,运维变轻松!
129 14
|
7月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
153 4
|
2月前
|
机器学习/深度学习 人工智能 运维
基于AI的自动化服务器管理:解锁运维的未来
基于AI的自动化服务器管理:解锁运维的未来
303 0