#自学习# 记一次py脚本打开浏览器页面

news2025/1/18 18:44:54

        在项目总结中,遇到系统后台利用浏览器拉起一个已知路径页面的需求,趁着机会整理下。实现起来比较简单,浏览器默认谷歌。

一、技术原理

        Selenium:Selenium 是一个用于自动化 Web 浏览器的工具,可模拟用户在浏览器中的各种操作,如点击、输入、提交表单等。通过 Selenium,可编写 Python 脚本控制浏览器行为;

        WebDriver:WebDriver 是 Selenium 中用于控制浏览器的接口。它提供了一组用于操作浏览器的方法和属性,可通过编程方式与浏览器进行交互;

        ChromeDriver:ChromeDriver 是 Chrome 浏览器的 WebDriver 实现,它允许 Selenium 控制 Chrome 浏览器的行为。在使用 Selenium 控制 Chrome 浏览器之前,下载配置即可;

        定位元素:在自动化测试或者操作网页时,通常需要找到页面上的特定元素(如按钮、输入框等),然后对其进行操作。Selenium 提供了多种方式来定位元素,包括通过 ID、类名、标签名、XPath 等。在这个示例中,我们使用 XPath 来定位要点击的按钮;

        等待页面加载:由于网页可能需要一些时间来加载和渲染,在进行操作之前,通常需等待页面加载完成;

        在py脚本中,使用 driver.implicitly_wait(10),利用了 Selenium 提供的隐式等待机制(隐式/显式),等待特定的元素出现或某些条件满足后再执行操作

        利用chrome_options.add_argument("window-size=1920x1080"),设置浏览器窗口的大小为 1920x1080 像素

        利用chrome_options.add_argument("--no-sandbox"):禁用沙盒模式,防止未知权限问题

        模拟用户行为:一旦找到了要操作的元素,就可以模拟用户在浏览器中的行为,如点击按钮、输入文本等。在示例中,使用driver.get(url)方法打开指定的 URL。

二、过程记录

        脚本之前已download,详见文末参考链接;执行py脚本报错        依赖缺失,windosw后台安装:pip install selenium

        查看chrome://version/

        下载对应124版本chromedriver,详见文末参考链接,复制到Python安装根目录下

         做了脚本路径和chromedriver.exe的配置检查

         运行python,执行后,正常打开浏览器,会有如下提示

参考链接:【python】简单实现打开浏览器并自动点击跳转_windows脚本点击打开浏览器跳转网页路径点击网页按钮-CSDN博客selenium安装谷歌浏览器驱动chromedriver 122/123/124新版本_chromedriver123-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1674441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

帧类型代价计算原理:slicetype_frame_cost 函数分析

slicetype_frame_cost 函数 函数功能 这个函数的核心是计算编码一系列帧(从 p0 到p1,以 b 为当前帧)的代价 cost,并根据这个代价 cost来辅助帧类型决策。它考虑了运动搜索的结果、帧间和帧内预测的成本,并且可以并行处理以提高效率。该函数在帧类型决策、MBtree 分析、场…

硅胶可以镭射吗?

在科技发展的今天,我们经常会遇到各种各样的材料,其中就有一种叫做硅胶的材料。那么,硅胶可以镭射吗?答案是肯定的,硅胶不仅可以镭射,而且在某些应用中,它的镭射特性还非常突出。 首先&#xff…

HarmonyOS应用模型Stage基本介绍

文章目录 <font colorcoral> HarmonyOS应用模型概况<font colorcoral> Stage模型基本概念<font colorcoral> Stage模型UIAbiliry的生命周期<font colorcoral> Stage模型的配置文件<font colorcoral> 写在后面的话<font colorcoral>Referen…

自动驾驶占据感知的综述:信息融合视角

24年5月香港理工的论文“A Survey on Occupancy Perception for Autonomous Driving: The Information Fusion Perspective“。 3D 占据感知技术旨在观察和理解自动驾驶车辆的密集 3D 环境。该技术凭借其全面的感知能力&#xff0c;正在成为自动驾驶感知系统的发展趋势&#x…

Mapbox 天地图暗色系调整

效果&#xff1a; mapbox栅格图层样式设置 {//图层id&#xff0c;要保证唯一性"id": "tdtVec",//图层类型"type": "raster",//数据源"source": "tdtVec","paint": {"raster-hue-rotate": 1…

虚拟化软件栈面临的安全威胁主要涉及几个方面

1.基于虚拟层&#xff08;Hypervisor&#xff09;的攻击&#xff1a;VM Escape&#xff1a;攻击者利用虚拟化软件允许多个操作系统共享单个硬件处理器的漏洞。这使得黑客可以在受控制的虚拟层上攻击宿主机上的每个虚拟机。 VM sprawl&#xff1a;当网络上的虚拟机数量超过管理…

OpenAI 2024 Spring推出 GPT-4o,免费向所有人提供GPT-4级别的AI

OpenAI 2024 Spring推出 GPT-4o&#xff0c;这是OpenAI的新旗舰模型&#xff0c;可以实时对音频、视觉和文本进行推理。 GPT-4o&#xff08;“o”代表“omni”&#xff09;是迈向更自然的人机交互的一步——它接受文本、音频和图像的任意组合作为输入&#xff0c;并生成文本、音…

2024年为什么很多电商商家,都想涌入视频号,究竟是什么原因?

大家好&#xff0c;我是电商糖果 对电商有了解的朋友&#xff0c;在今年肯定发现一个现象&#xff0c;那就是很多商家对视频号比较青睐。 视频号究竟有何魔力&#xff0c;让越来越多的商家都想要入驻。 其实很简单&#xff0c;它让商家看到了市场。 视频号背后是谁&#xf…

【计算机网络】http协议的原理与应用,以及https是如何保证安全传输的

HTTP 超文本传输协议&#xff08;英文&#xff1a;HyperText Transfer Protocol&#xff0c;缩写&#xff1a;HTTP&#xff09;是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。 HTTP的发展是由蒂姆伯纳斯-李于1989年在欧洲核子研究组织…

【MySQL数据库】丨高可用之MHA集群部署

一、准备工作 1.1 修改主机名 vim /etc/hosts# 添加对应主机 192.168.28.128 mha1 192.168.28.131 mha2 192.168.28.132 mha31.2 关闭防火墙及修改selinux # 关闭防火墙 systemctl stop firewalld systemctl disable firewalld # 关闭自启动# 修改selinux vim /etc/sy…

技艺高超的魔法师:Java运算符

在Java编程的世界里&#xff0c;运算符是连接变量和表达式的关键纽带&#xff0c;它们使得程序能够执行计算、比较、赋值等一系列操作。 一&#xff0c;基本概念 1&#xff0c;运算符是什么&#xff1f; 运算符是操作变量的符号。 2&#xff0c;分类 Java中的主要运算符类…

如何申请免费一年SSL证书

申请免费一年的SSL证书可以通过以下几个步骤进行&#xff0c;这里以JoySSL为例&#xff0c;因为它是目前提供此类服务的流行平台之一&#xff0c;同时也提到了宝塔面板中的TrustAsia SSL证书。请根据您的具体需求选择合适的方式&#xff1a; 申请免费一年SSL证书&#xff1a; …

最新版rancher环境配置安装和集群搭建详细教程记录

&#x1f680; 作者 &#xff1a;“二当家-小D” &#x1f680; 博主简介&#xff1a;⭐前荔枝FM架构师、阿里资深工程师||曾任职于阿里巴巴担任多个项目负责人&#xff0c;8年开发架构经验&#xff0c;精通java,擅长分布式高并发架构,自动化压力测试&#xff0c;微服务容器化k…

Keil编程不同驱动文件引用同一个常量的处理方法

基础不牢&#xff0c;地动山摇&#xff0c;最近单片机编程又遇到一个基础问题。 我在头文件中定义了一个常量同时给两个驱动文件使用&#xff0c;封装的时候编译没问题&#xff0c;但是在main函数中引用驱动函数的时候就出现了重定义的问题&#xff0c;如下如所示。 解决方法很…

Java modbus 实现RTU串口作为slave(服务端)读写数据

这里要了解下modbus的RTU和TCP 的几个名称关系&#xff1a; Modbus/RTU&#xff1a;主站 和从站 关系 Modbus/TCP&#xff1a;客户端和服务端关系 关系 主站主动找从站读写数据 客户端主动找服务端读写数据 所以当使用Modbus/TCP时&#xff0c;主站一般作为客户端&#xff…

C/C++:Windows动态链接库

动态链接库&#xff08;Dynamic Link Library&#xff0c;简称DLL&#xff09;是在运行时加载的库&#xff0c;它们的代码和数据在内存中与目标程序共享&#xff1b;这意味着多个程序可以共享相同的库实例&#xff0c;并且库的代码可以在不重新编译目标程序的情况下更新。 工作…

怎么转换音频?看这3款音频转换器

随着数字媒体的发展&#xff0c;音频文件在我们的日常生活中占据了越来越重要的地位。有时候在不同的应用场景里&#xff0c;无论是音乐、语音还是其他类型的音频内容&#xff0c;我们都需要对其进行转换以满足不同的需求。 本文将为您介绍3款常用的音频转换器&#xff0c;帮助…

基于.NetCore和ABP.VNext的项目实战一:abp cli 搭建项目

学习了阿星Plus的博客项目,自己也试着搭建自己的博客。 ABP和ABP.VNext的主要区别在于核心库的精简、对领域驱动设计(DDD)的关注、以及使用的技术栈。 1、ABP VNext的核心库相比ABP更加精简,它将原有许多组件从核心库中抽离成独立的组件,这使得开发者可以更灵活地选择需要…

Github新手入门使用方法

**存在问题&#xff1a;**新手如何快速入门github&#xff0c;能够下载开源文件&#xff0c;并且修改后更新远程github仓库&#xff1b; 解决方案&#xff1a; 参考&#xff1a; http://www.360doc.com/content/24/0301/12/60419_1115656653.shtml https://blog.csdn.net/gongd…

Python环境变量的访问:从入门到精通

环境变量是操作系统中的一种特殊变量&#xff0c;它允许用户在不修改程序的情况下&#xff0c;通过配置文件来改变程序的行为。在Python中&#xff0c;访问环境变量是一个常见的需求&#xff0c;无论是为了读取配置信息、获取系统信息&#xff0c;还是进行程序调试。本文将详细…