首页 > 其他分享 >自动化:用selenium发一篇博文

自动化:用selenium发一篇博文

时间:2024-06-07 14:33:50浏览次数:24  
标签:Chrome 博文 selenium json python 点击 Key 自动化

  1. Python的安装与环境搭建
    网址:https://www.python.org/
    选择“Downloads”下载最新的3.12版本的python,选择一个路径安装(我选择安装在D盘根目录下,新建了一个“python”文件夹),同时记得选择 ‘Add Python3.12 to PATH”。可以通过打开cmd输入python检查,如果返回了python的版本信息,则说明路径已经添加。

1.1:pycharm 的安装
网址:https://www.jetbrains.com/pycharm/ 点击Download,跳转至下载界面,向下滚动屏幕,找到pycharm community edition,点击下载。安装时,可以放在任意位置,如图勾选所有项目,最后点击安装即可。
启动pycharm 在弹出的弹框中选择‘DO not import settings’,设置好ui,使用pycharm。

1.2 创建一个新的项目。

将python项目创建在桌面下,并命名为‘pythonProject’。interpreter选项选择已经存在的解释器,选择安装在D盘下的‘python.exe’文件

1.3 selenium库下载
可以再pycharm下方选择“terminal”,输入pip install selenium==3.14.0

1.4Chrome 驱动器下载:先打开设备中已有的Chrome浏览器,通过"关于Google Chrome" 找到浏览器的版本,再从网上下载对应版本的驱动器:chromedriver.exe。比如我的浏览器是125版本,那么驱动器也要搜索125版本的驱动器来下载。记得把驱动器安装在之前创建的‘pythonProject’文件夹里。

2.0 selenium代码编写
由于博客园有反爬措施,本代码需要先手动登录博客园账号,然后重新打开浏览器,再用selenium接管这个浏览器打开博客园,实现自动发博。
这里的打开浏览器不同于正常的点击引用程序,需要将Chrome的本地路径加入到环境变量中,具体操作方法为:“win+s” -> 搜索并点击“编辑系统环境变量” ->在‘高级’页面找到并点击‘环境变量’ -> 选择‘path’,点击‘编辑’ -> 点击“新建”,并将Chrome的地址粘贴进来,最后点击“确定”保存。

然后打开cmd 输入“chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"”即可打开Chrome,之后将由selenium接管这个已打开的Chrome页面。

2.1 selenium代码部分
`from selenium import webdriver
import time
path = 'chromedriver.exe'
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_experimental_option('debuggerAddress', "127.0.0.1:9222")
browser = webdriver.Chrome(path, chrome_options=chrome_options)
url = 'https:cnblogs.com'
browser.get(url)
time.sleep(2)

点击我的博客

my_blog = browser.find_element_by_id('myblog_icon')
my_blog.click()

点击 新随笔

new_blog = browser.find_element_by_id('blog_nav_newpost')
new_blog.click()
time.sleep(1)

找到标题输入框

ipt_title = browser.find_element_by_id('post-title')
ipt_title.send_keys('博客的标题')
找到正文输入框
txt_input = browser.find_element_by_id('md-editor')
txt_input.send_keys(‘博客的正文’)

找到 发布 按钮

post_btn = browser.find_element_by_xpath('//button[@class="cnb-button d-inline-flex align-items-center ng-star-inserted"]')

点击发布

post_btn.click()`

现在就可以通过selenium自动发一篇博客了。

3.0通过调用文心一言的API接口来询问HTTPX的使用方法:
可以直接参考https://blog.csdn.net/dream_of_grass/article/details/135535369
需要创建应用获得API Key 和Secret Key,然后可以通过付费或者代金券购买一个付费接口,我购买的是ERNIE-3.5-8K,接着将API Key 和Secret Key 代入下列代码中(以下代码仅适用于ERNIE-3.5-8K接口):
`import requests
import json
def get_access_token():
"""
使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key
"""
url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=m7aPGWXAAiTD1oHEcqdaGFDf&client_secret=52qMJ3zqQHNlMRQwhhpiTiCErD5ieFF0"
payload = json.dumps("")
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
return response.json().get("access_token")

def main():
url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=" + get_access_token()
payload = json.dumps({
"messages": [
{
"role": "user",
"content": "如何使用httpx?"
}
]
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

if name == 'main':
main()`

运行代码即可得到答案。

4.0自动发一篇关于“调用文心一言API询问HTTPX的使用方法”的博客
修改一下2.1部分中的“博客标题”和“博客正文”,将3.0的代码复制粘贴到博客正文内,即可发布。

标签:Chrome,博文,selenium,json,python,点击,Key,自动化
From: https://www.cnblogs.com/luvfirefly4ever/p/18237155

相关文章

  • Python自动化发送邮件如何实现?怎么配置?
    Python自动化发送邮件需要注意什么?邮件群发的技巧?无论是个人使用还是企业需求,电子邮件的发送都是必不可少的。而Python作为一门功能强大的编程语言,可以通过自动化脚本实现批量发送邮件,从而提高工作效率。AokSend将详细介绍如何使用Python自动化发送邮件。Python自动化发送邮......
  • 《手把手教你》系列练习篇之12-python+ selenium自动化测试(详细教程)
    1.简介前面文章我们了解了如何获取元素的text属性值,和判断元素是否显示在页面(is_displayed()方法),本文我们来学习下,判断一个控件是否被选中状态、获取页面元素的大小、组合键-全选文字、组合键-退格键删除文本和鼠标右键等练习的内容。2.验证控件是否被选中还是以百度......
  • 《手把手教你》系列练习篇之13-python+ selenium自动化测试 -压轴篇(详细教程)
    1.简介“压轴”原本是戏曲名词,指一场折子戏演出的倒数第二个剧目。在现代社会中有很多应用,比如“压轴戏”,但压轴也是人们知识的一个盲区。“压轴”本意是指倒数第二个节目,而不是人们常说的倒数第一个,倒数第一个节目称“压台”。想看“压台篇”,敬请关注宏哥等待压台篇发......
  • 矩阵批量软件系统 日产1-3万篇 全程自动化操作 自动生成图文发布
    在这个多元化的数字时代,变现不再是单一路径的探索,而是多渠道、多平台的策略布局。今天,我要分享的这套玩法,不仅能让你在多个平台上实现收益,还能通过引流到私域空间,开启更广阔的变现大门。想象一下,你只需轻轻一点,软件便能自动运行,为你在各个平台上创造价值。这不再是简单的......
  • 高精度滚珠丝杆在自动化生产中的关键因素!
    如今,自动化技术正以前所未有的速度改变着人们的生活和工作方式,特别是在高精度精密设备的制造与应用领域,提高生产效率和优化生产流程正变得越来越重要。在自动化生产中,滚珠丝杆的优化应用对于提高生产效率、保证产品质量至关重要。滚珠丝杆的优化应用一般是由材料选择与制造工......
  • jenkins接入钉钉api接口自动化测试报告自动发送
    一些同学的公司在做接口自动化测试时,难免会要求进行持续集成以及需要将可视化报告发送到诸如钉钉工作群等地方,于是便编写下列相关教程。jenkins上进行持续集成以及接入钉钉前提条件准备好自动化脚本持续集成源代码管理模块安装插件:Gitplugin获取凭证:http拉取链接对应:登录......
  • AI写论文靠谱吗?探索自动化文本生成的可靠性
    众所周知,写论文是一项极其耗时间的事情,从开始的选题到文献资料搜索查阅,大纲整理等等一大堆的繁杂工作是极艰辛的。用AI写论文就不一样了,自动化生成文本为你节省了大量时间。优秀的AI工具生成的论文非常完备,能提供摘要、参考文献、致谢等材料参考,而且还查重率低,在5%左右。总体来......
  • 记一次 .NET某工控视觉自动化系统 卡死分析
    一:背景1.讲故事今天分享的dump是训练营里一位学员的,从一个啥也不会到现在分析的有模有样,真的是看他成长起来的,调试技术学会了就是真真实实自己的,话不多说,上windbg说话。二:WinDbg分析1.为什么会卡死这位学员是从事工控大类下的视觉自动化,也是目前.NET的主战场,这个场景下大......
  • 强!推荐一款开源接口自动化测试平台:AutoMeter-API !
    在当今软件开发的快速迭代中,接口自动化测试已成为确保代码质量和服务稳定性的关键步骤。随着微服务架构和分布式系统的广泛应用,对接口自动化测试平台的需求也日益增长。今天,我将为大家推荐一款强大的开源接口自动化测试平台:AutoMeter-API。1、介绍AutoMeter-API是一款专为测......
  • 算法金 | 10 大必知的自动化机器学习库(Python)
    大侠幸会,在下全网同名[算法金]0基础转AI上岸,多个算法赛Top[日更万日,让更多人享受智能乐趣]一、入门级自动化机器学习库1.1Auto-Sklearn简介:Auto-Sklearn是一个自动机器学习库,基于Python的scikit-learn接口。它主要用于自动化机器学习的常见过程,特别是算法选......