Python脚手架系列-DrissionPage
记录DrissionPage模块使用中的一些常常复用的代码,持续更新…
接管谷歌浏览器
from DrissionPage import ChromiumPage, ChromiumOptionsco = ChromiumOptions().set_local_port(4249)
driver = ChromiumPage(addr_or_opts=co)
创建driver,如果浏览器已开启优先接管,需要设置谷歌浏览器的启动参数
C:\Users\Gekte\AppData\Local\Google\Chrome\Application\chrome.exe --remote-debugging-port=4249 --remote-allow-origins=*设置端口需要对应。
获取tab
def get_tab(driver, html):tab_ids = driver.tab_idsfor tab_id in tab_ids:this_tab = driver.get_tab(tab_id)if html in this_tab.url:return this_tabelse:for tab_id in tab_ids:this_tab = driver.get_tab(tab_id)if this_tab.url in ["about:blank", "chrome://newtab/"]:return this_tabreturn driver.new_tab()
传入
driver对象以及链接(支持链接的一部分),查找是不是有能复用的tab而无需创建新的。
如果需要获取多个tab对象,请使用下面的get_tabs函数防止重复获取
def get_tabs(driver, *urls):selectedTab = []tabs = []tab_ids = driver.tab_idsfor url in urls:retTab = Nonefor tab_id in tab_ids:this_tab = driver.get_tab(tab_id)if url in this_tab.url and this_tab not in selectedTab:retTab = this_tabbreakif not retTab:for tab_id in tab_ids:this_tab = driver.get_tab(tab_id)if this_tab.url in ["about:blank", "chrome://newtab/"] and this_tab not in selectedTab:retTab = this_tabbreakif not retTab:retTab = driver.new_tab()selectedTab.append(retTab)tabs.append(retTab)return tabs# 使用 get_tabs 函数获取所有标签页
specTab, detailTab, manTab = get_tabs(driver, 'https://k.autohome.com.cn/spec/', 'https://k.autohome.com.cn/detail/', 'https://i.autohome.com.cn/')
chrome://newtab/对应谷歌新创建的页面,如果是其他浏览器请自行更换
执行Js代码
翻页到底部
driver.run_js("window.scrollTo({top: document.body.scrollHeight,behavior: 'smooth'});")
相关文章:
Python脚手架系列-DrissionPage
记录DrissionPage模块使用中的一些常常复用的代码,持续更新… 接管谷歌浏览器 from DrissionPage import ChromiumPage, ChromiumOptionsco ChromiumOptions().set_local_port(4249) driver ChromiumPage(addr_or_optsco)创建driver,如果浏览器已开启优先接管&am…...
Java中如何调用mysql中函数
在Java中调用MySQL中的函数(无论是存储函数还是自定义函数),通常是通过JDBC(Java Database Connectivity)来完成的。以下是一个简单的步骤说明和示例代码,展示如何在Java中调用MySQL中的函数。 步骤 添加…...
Huggingface-cli 登录最新版(2024)
安装Huggingface-cli pip install -U "huggingface_hub[cli]"设置好git的邮箱和用户名和huggingface的github账号一致 git config --global user.mail xxx git config --global user.name xxx登录 复制token,划红线的地方,在命令行中点击右…...
Java学习 - Docker管理和容器命令 实例
docker管理 查看docker版本,检测是否可用 sudo docker version查看docker 系统信息 sudo docker infodocker容器命令 容器状态 容器标识 容器长uuid容器短uuid容器名字 查看容器状态 sudo docker status [容器标识1] [容器标识2] [容器标识n]深入查看容器信息 su…...
下载工程resources目录下的模板excel文件
一、添加依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.1.0</version> </dependency> 二、编写接口 GetMapping("/downloadTemplate")public void downlo…...
音频基础知识和音频指标
音频基础知识 声音 声音(sound)是由物体振动产生的声波。物体在一秒钟之内振动的次数叫做频率,单位是赫兹,字母Hz。人耳可以识别的声音频率在 20 Hz~20000 Hz之间; 声音三要素: 响度 响度,…...
使用Vue CLI在其他磁盘创建项目出现错误及解决
Vue CLI是Vue.js官方推出的脚手架工具,可以帮我们快速的创建Vue项目框架。 我们创建Vue项目时一般默认都是在C盘,但由于某些因素我们需要在其他磁盘上创建Vue项目。 通过“winr”打开终端时默认位置都是C盘,但是Vue CLI不接受绝对路径作为参…...
关于lamda表达式的使用
Lambda表达式是一种匿名函数,即没有函数名的函数,它可以以更简洁、更灵活的方式编写代码。以下是Lambda表达式的常用方式: 无参数,无返回值: 如果抽象方法不带参数且不返回值,可以使用空括号和主体编写Lam…...
Android替换默认的按键音
替换audio_assets.xml文件 此文件在AudioService.java被调用 <!--文件位置 /frameworks/base/core/res/res/xml/--> <audio_assets version"1.0"><group name"touch_sounds"><asset id"FX_KEY_CLICK" file"Effect…...
Windows 服务器Nginx 下载、部署、配置流程(图文教程)
不定期更新 目录 一、下载Nginx安装包 二、上传安装包 三、启动Nginx 四、Nginx常用命令 五、Nginx(最小)配置详解 六、Nginx(基础)配置详解 七、反向代理 八、负载均衡 九、动静分离 十、报错 一、下载Nginx安装包 四…...
基于Redis实现共享session登录
搭配食用:Redis(基础篇)-CSDN博客 项目实现前的 Mysql中的表: 表说明tb_user用户表tb_user_info用户详情表tb_shop商户信息表tb_shop_type商户类型表tb_blog用户日记表(达人探店日记)tb_follow用户关注表tb_voucher优…...
shell函数的定义
shell函数的定义 定义:将命令序列按照格式写在一起.格式指的是函数的固定格式 作用:方便重复使用,还可以做成函数库,集中在一起,随时可以传参调用,大的工程分割成小的模块,提高代码的可读性. 函数的格式 vim hanshu1.shfunction shopping {命令序列}shopping () {命令…...
vue部署宝塔nginx配置(获取用户ip地址、反代理访问api接口、websocket转发)
以下配置为我自己的需求,因人而异,如果只是单纯的前端非交互页面,可以不用修改配置。 代码及注释,如下: #解决vue-router设置mode为history,去掉路由地址上的/#/后nginx显示404的问题location / {proxy_htt…...
Jenkins教程-3-github自动化测试任务构建
上一小节我们学习了Jenkins在windows和mac系统上安装搭建环境的方法,本小节我们讲解一下Jenkins构建github自动化测试任务的方法。 接下来我们以windows系统为例,讲解一下构建实际自动化测试任务的具体步骤。 安装git和github插件 点击进入Jenkins插件…...
0元体验苹果macOS系统,最简单的虚拟机部署macOS教程
前言 最近发现小伙伴热衷于在VMware上安装体验macOS系统,所以就有了今天的帖子。 正文开始 首先,鉴于小伙伴们热衷macOS,所以小白搜罗了一圈macOS系统,并开启了分享通道。 本次更新的系统版本是: macOS 10.13.6 ma…...
Codeforces Round 946 (Div. 3) E. Money Buys Happiness
m m m个月,每个月月底发 x x x的薪水,也就是第 i i i个月只能用前 i − 1 i-1 i−1个月挣的钱,而不能用这个月挣的钱。第 i i i个月花费 c [ i ] c[i] c[i]的薪水能获得 h [ i ] h[i] h[i]的快乐度,问最多能获取的快乐度是多少。 …...
Git记录 上传至Gitee
1.GitHub拉去的代码需要上传至自己的Gitee需要清除原有remote服务器信息 查看原始远程服务器信息,后删除远程服务器信息 git remote -v git remote rm origin 2.Gitee新建软件仓库 法1)不用初始化仓库,初始化会自动生成.git。如果本地.git…...
笔记-前端
URL 输入到渲染的过程 域名解析,找到服务地址 构建 TCP 连接,若有 https,则多一层 TLS 握手, 特殊响应码处理 301 302 解析文档 构建 dom 树和 csscom 生成渲染树:从DOM树的根节点开始遍历每个可见节点,对于…...
事务AOP
事物管理 事务管理是指对一系列数据库操作进行管理,确保这些操作要么全部成功执行,要么在遇到错误时全部回滚,以维护数据的一致性和完整性。在多用户并发操作和大数据处理的现代软件开发领域中,事务管理已成为确保数据一致性和完…...
RAM和ROM
1,RAM和ROM区别 RAM和ROM都是由来存储的,比如CPU缓存,电脑和手机内存等属于RAM,而固态硬盘,U盘,手机的128G,256G存储空间等都属于ROM。他们的最主要区别是RAM在断电后存储数据就没有了,而ROM在断电后存储数…...
爱芯元智上市后首次年报:营收5.6亿同比增19% 智能汽车业务成增长引擎
雷递网 雷建平 3月27日爱芯元智(0600.HK)今日发布截至2025年12月31日的2025年的财报。财报显示,爱芯元智2025年营收5.6亿,较上年同期的4.7亿元增长18.8%。爱芯元智2025年毛利为1.21亿元,毛利率稳定在21.6%;…...
pose-search:Web端人体姿态识别与动作检索的革新实践
pose-search:Web端人体姿态识别与动作检索的革新实践 【免费下载链接】pose-search x6ud.github.io/pose-search 项目地址: https://gitcode.com/gh_mirrors/po/pose-search 在计算机视觉与Web技术深度融合的今天,pose-search作为一款开源项目&am…...
EfficientDet的‘复合缩放’到底强在哪?对比YOLOv5、RetinaNet的模型扩展策略
EfficientDet复合缩放策略的工程实践解析:从理论优势到部署优化 1. 目标检测模型扩展的技术演进脉络 计算机视觉领域对高效目标检测的需求从未如此迫切。随着应用场景从云端服务器向边缘设备、移动终端和嵌入式系统的扩展,算法工程师们面临着一个核心矛…...
4步攻克企业级Web表单开发:Dify工作流可视化实战指南
4步攻克企业级Web表单开发:Dify工作流可视化实战指南 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-W…...
三步搞定图片文字提取:Umi-OCR免费离线OCR工具全攻略
三步搞定图片文字提取:Umi-OCR免费离线OCR工具全攻略 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件,适用于Windows系统,支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.com/GitHu…...
英飞凌TC387/TC264芯片GTM模块实战:如何用ARU实现灵活定时器配置
英飞凌TC387/TC264芯片GTM模块实战:如何用ARU实现灵活定时器配置 在嵌入式系统开发中,定时器资源的灵活配置一直是工程师面临的挑战。英飞凌TC387和TC264芯片内置的GTM(Generic Timer Module)模块,凭借其ARU࿰…...
为什么你的视觉检测准确率卡在92.7%?(揭秘工业现场3类未标注异常数据导致的模型过拟合代码根源)
第一章:视觉检测准确率瓶颈的工业现场真相在实际产线部署中,视觉检测模型在实验室达到99.2%的mAP,落地后却频繁出现漏检与误报——这不是算法缺陷,而是工业现场多维干扰叠加的真实映射。光照波动、工件表面反光、传送带抖动、镜头…...
第二十二讲 XGBoost 回归实战 + SHAP 可视化解读(基于R语言波士顿房价数据集)
1. 从波士顿房价预测开始:为什么选择XGBoost? 每次遇到回归预测问题,我都会先想到XGBoost。这个算法在Kaggle竞赛中屡获佳绩不是没有道理的——它既能处理复杂的非线性关系,又不容易过拟合。最近我用R语言的BostonHousing数据集做…...
BilibiliDown开源工具全攻略:突破限制获取B站Hi-Res无损音频
BilibiliDown开源工具全攻略:突破限制获取B站Hi-Res无损音频 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mir…...
告别鼠标卡顿:Mac Mouse Fix实现第三方鼠标全栈优化,效率提升200%的实战指南
告别鼠标卡顿:Mac Mouse Fix实现第三方鼠标全栈优化,效率提升200%的实战指南 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 问题溯…...
