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

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

一、技术原理

        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.mzph.cn/diannao/11977.shtml

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

相关文章

socket接口定义范围及操作

Socket接口,也称为套接字接口,是用于实现网络通信的一种编程接口。它定义了一系列的操作和函数,允许应用程序通过网络进行数据传输。 Socket接口不仅仅局限于特定的操作系统或网络协议,而是在多种网络环境中通用,包括但…

Python面试题【数据结构和算法部分101-130】

Python面试题【数据结构和算法部分101-130】 Python面试题【数据结构和算法部分101-130】 Python面试题【数据结构和算法部分101-130】 问题:如何在Python中实现二分查找? 答案: def binary_search(arr, target):low, high 0, len(arr) - 1…

奔向光明阿波罗(五)

下半场的艰难曙光 有“中国无人驾驶黄埔军校”之称的百度,最初的雄心是给未来的智能汽车安上一颗“百度之心”,取得类似于“Intel Inside“的品牌强强联合效果。阿波罗希望为汽车行业的玩家提供一个“开放、完整、安全”的开源平台,帮助他们结…

正则表达式中的$分组使用示例

正则表达式中的 $ 符号通常用于表示字符串的结束位置,但当你在替换操作或者某些特殊上下文中提到 $ 后跟数字(如 $1, $2, etc.),这并不表示结束位置,而是引用之前正则表达式捕获组的内容。 以下是使用 $ 引用捕获组的…

计算机视觉与深度学习实战:以Python为工具,基于块匹配的全景图像拼接

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程:计算机视觉与深度学习实战-以MATLAB和Python为工具_基于块匹配的全景图像拼接_项目开发案例教程.pdf 计算机视觉作为人工智能领域的一个重要分支,旨在…

成都百洲文化传媒有限公司怎么样?靠谱吗?

在数字化浪潮席卷全球的今天,电商行业正以前所未有的速度蓬勃发展。作为这一变革的积极参与者和推动者,成都百洲文化传媒有限公司以其专业的电商服务,正逐渐成为行业内的佼佼者。 一、公司简介 成都百洲文化传媒有限公司自成立以来&#xff…

邦芒宝典:离职前一定要做的几件事帮你刷爆好感

​​这个问题,关键还是要看这位有本事的员工的职业素养如何。虽说工有本事的员工往往都会具备比较高的职业素养,比如强专业能力、强沟通、强执行、正确的价值观与职业操守等等,但也可能有些人能力是不错,但素养比较低,…

MyBatis的创建和测试

创建项目点击Spring Initializr然后点击next 点击SQL 选择里面的Mybatis Framework和Mysql Driver 按如下图片创建项目 user表中的数据 #下面这些内容是为了让MyBatis映射 #指定Mybatis的Mapper文件 mybatis.mapper-locationsclasspath:mappers/*xml #指定Mybatis的实体目录 my…

【Java】IDEA自动生成类图和时序图

【Java】IDEA自动生成类图和时序图 idea 的强大之处在于此,它包含了很多小插件,我们不需要再次下载相关插件,只需要在idea中小小的设置一下就可以了,下面是设置方法,我用的是idea2020版本 打开设置File -> Settings->Diagr…

Netty-面试题(中)(五十)

关于零拷贝和堆外内存 Java在将数据发送出去的时候,会先将数据从堆内存拷贝到堆外内存,然后才会将堆外内存再拷贝到内核态,进行消息的收发,代码如下: 所以,我们发现,假如我们在收发报文的时候使用直接内存&…

工业互联网网络安全如何保障

随着工业4.0时代的到来,工业互联网(IIoT)成为了推动制造业数字化转型的重要力量。然而,随着工业互联网的快速发展,其网络安全问题也日益凸显。保障工业互联网网络安全,不仅关系到企业的正常运营&#xff0c…

Gin框架返回Protobuf类型:提升性能的利器

在构建高效、高性能的微服务架构时,数据序列化和反序列化的性能至关重要。Protocol Buffers(简称Protobuf)作为一种轻量级且高效的结构化数据存储格式,已经在众多领域得到广泛应用。Gin框架作为Go语言中流行的Web框架,…

【Linux】进程信号(2万字)

目录 前言 一、生活角度的信号 1.1、我们来见一见信号: 1.2、模拟一下 kill 指令 二、信号的处理 三、产生信号的5种方法 3.1、kill命令 3.2、键盘可以产生信号 3.3、3种系统调用 3.4、软件条件 3.5、异常 四、比较 core 和 Term 五、键盘信号产生 六…

SSL/TLS协议信息泄露漏洞(CVE-2016-2183)解法

1.运行gpedit.msc,进入本地组策略编辑器。 2. 本地组策略编辑器-->计算机配置-->管理模板-->网络-->SSL配置设置-->启用“SSL密码套件顺序”。 3. 将原有的密码套件值清空,拷入下面的值,保存设置,并重启服务器即…

让爱回家:家政服务中的情感与温度

一、引言 在繁忙的现代生活中,家政服务已逐渐成为许多家庭不可或缺的一部分。然而,家政服务并非仅仅是简单的家务劳动,它更是一次情感的交流和温度的传递。本文将探讨家政服务中的情感与温度,让爱通过这一平凡而重要的职业回到每…

EmotiVoice 实时语音合成TTS;api接口远程调用

参考:https://github.com/netease-youdao/EmotiVoice 测试整体速度可以 docker安装: 运行容器:默认运行了两个服务,8501 一个streamlit页面,另外8000是一个api接口服务 docker run -dp 8501:8501 -p 8250:8000 syq163/emoti-voice:latest##gpu运行 (gpu运行遇到CUDA er…

ios与android上音频格式的推荐

首先贴一张官方对于ios与android上音频格式的推荐: 这里只给出了推荐格式,一般我们在实际运用中会使用如下方式: 一、IOS与安卓各一套:音乐:都使用MP3 音效:ios用caf Android用ogg 二、使用通用的MP3格式…

【Linux系统编程】第十八弹---进程状态(上)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、操作系统进程 1.1、进程背景 1.2、进程如何在CPU上运行的? 1.2、进程状态 2、Linux的进程状态 2.1、如何描…

js车牌识别接口开发示例、Vin解析接口

首先,我们来看一下车牌识别的功能一般都应用在哪些地方:第一种就是各种停车位置在进行管理的时候,一般会采用OCR技术来帮助系统识别车牌并进行管理;第二种就是汽车保险管理工作的场景,当工作人员对车辆进行保险勘察的时…

Linux修炼之路之权限

目录 引言 一:Linux中用户的分类 二:在Linux中的权限 1.权限的两种属性 1.人的属性 2.事物属性 -主要以文件属性为主 3.文件权限值的两种表示方式方法 2.更改文件访问者(拥有者,所属组,其他人)权限属性 3.更改文件的拥有…