当前位置: 首页 > news >正文

execute_script与JS

        JavaScript简称JS,有的测试场景需要JS脚本辅助完成Selenium无法做到的测试工作。webdriver提供了execute_script()方法调用JS代码。execute_script()可以在当前窗口/框架中执行JS脚本,并返回结果。可以使用它操作DOM元素、获取元素属性、执行异步操作等。

from selenium import webdriver
from selenium.webdriver.common.by import By
import time# 初始化 WebDriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

获取页面标题

title = driver.execute_script("return document.title;")
print(f"Page title is:{title}")

查找搜索输入框并输入关键字

search_input = driver.find_element(By.ID, "kw")
driver.execute_script("arguments[0].value = 'Selenium';", search_input)

 查找搜索按钮并点击

search_button = driver.find_element(By.ID, "su")
driver.execute_script("arguments[0].click();", search_button)

滚动到页面底部

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

改变搜索框背景颜色

driver.execute_script("arguments[0].style.backgroundColor = 'blue';", search_input)

 获取第一个搜索结果的链接文本

first_result_text = driver.execute_script("return document.querySelector('.t a').innerText;")

 获取第一个搜索结果的链接

first_result_url = driver.execute_script("return document.querySelector('.t a').href;")

 获取网页源代码

page_source = driver.execute_script("return document.documentElement.outerHTML;")
print(f"Page source length:{len(page_source)}")

刷新页面

driver.execute_script("location.reload();")

相关文章:

execute_script与JS

JavaScript简称JS,有的测试场景需要JS脚本辅助完成Selenium无法做到的测试工作。webdriver提供了execute_script()方法调用JS代码。execute_script()可以在当前窗口/框架中执行JS脚本,并返回结果。可以使用它操作DOM元素、获取元素属性、执行异步操作等。…...

访问 Postman OAuth 2.0 授权的最佳实践

OAuth 2.0 代表了 web 安全协议的发展,便于在多个平台上进行授权服务,同时避免暴露用户凭据。它提供了一种安全的方式,让用户可以授权应用程序访问服务。 在 Postman 中开始使用 OAuth 2.0 Postman 是一个流行的API客户端,支持 …...

《BASeg: Boundary aware semantic segmentation for autonomous driving》论文解读

期刊:Neural Networks | Journal | ScienceDirect.com by Elsevier 年份:2023 代码:https://github.com/Lature-Yang/BASeg 摘要 语义分割是自动驾驶领域街道理解任务的重要组成部分。现有的各种方法要么专注于通过聚合全局或多尺度上下文…...

高效利用iCloud指南

高效利用iCloud的指南主要包括以下几个方面: 一、注册与登录 创建Apple ID: 如果尚未拥有Apple ID,可以在苹果官网或iOS设备的设置中创建。Apple ID是访问iCloud服务的前提。登录iCloud: 在苹果设备上,进入“设置”应…...

【MySQL】常见的MySQL日志都有什么用?

MySQL日志的内容非常重要,面试中经常会被问到。同时,掌握日志相关的知识也有利于我们理解MySQL 底层原理,必要时帮助我们排查解决问题。 MySQL中常见的日志类型主要有下面几类(针对的是InnoDB 存储引擎): 错误日志(error log):对 MySQL 的启…...

IDEA社区版使用Maven archetype 创建Spring boot 项目

1.新建new project 2.选择Maven Archetype 3.命名name 4.选择存储地址 5.选择jdk版本 6.Archetype使用webapp 7.create创建项目 创建好长这样。 检查一下自己的Maven是否是自己的。 没问题的话就开始增添java包。 [有的人连resources包也没有,那就需要自己添…...

C/C++ list模拟

模拟准备 避免和库冲突&#xff0c;自己定义一个命名空间 namespace yx {template<class T>struct ListNode{ListNode<T>* _next;ListNode<T>* _prev;T _data;};template<class T>class list{typedef ListNode<T> Node;public:private:Node* _…...

android studio开发

Kotlin 编程简介 | Android Basics Compose - First Android app | Android Developers (google.cn) 这是官网的教程&#xff0c;实现试一下。 之后进入课程 您的第一个 Kotlin 程序 (google.cn) 程序可以被视为一系列指示计算机或设备执行某项操作的指令&#xff0c;...

PostgreSQl 物化视图

物化视图&#xff08;Materialized View&#xff09;是 PostgreSQL 提供的一个扩展功能&#xff0c;它是介于视图和表之间的一种对象。 物化视图和视图的最大区别是它不仅存储定义中的查询语句&#xff0c;而且可以像表一样存储数据。物化视图和表的最大区别是它不支持 INSERT…...

Win10工具:批量word转png图片

首先声明这个小工具是小编本人开发的&#xff0c;无任何广告&#xff0c;会员收费机制等&#xff0c;永久使用。允许公司或个人使用&#xff0c;不允许倒卖&#xff0c;否则发现后会追究法律责任&#xff0c;毕竟开发不易。工具是用python开发的。 功能非常单一&#xff0c;就…...

期货量化交易客户端开源教学第八节——TCP通信服务类

private FReciveStr: AnsiString; {接收到的数据} IsConErr: Boolean; {网络连接是否失败} FSocket_LB: Integer; {TCP连接类别,0为交易,1为行情,2为查询} FRetryCount: Integer; {网络连接重试次数} FLoginErrEvent: TLoginErrEvent; {…...

bi项目笔记

1.bi是什么 bi项目就是商业智能系统&#xff0c;也就是数据可视画、报表可视化系统&#xff0c;如下图的就是bi项目了 2.技术栈...

金蝶云苍穹-插件开发(四)GPT开发相关插件

我只对GPT开发的相关插件进行讲解&#xff0c;因为我的是插件开发教程&#xff0c;关于GPT的一些提示词的写法&#xff0c;GPT任务的配置&#xff0c;请去金蝶云苍穹的文档和社区内学习。 GPT自定义操作 GPT自定义操作的代码的类要实现 IGPTAction 这个接口&#xff0c;这个接…...

【机器学习】精准农业新纪元:机器学习引领的作物管理革命

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀目录 &#x1f50d;1. 引言&#x1f4d2;2. 精准农业的背景与现状&#x1f341;精准农业的概念与发展历程&#x1f342;国内外精准农业实践案…...

一键掌握天气动态 - 基于Vue和高德API的实时天气查询

前言 本文将学习如何使用Vue.js快速搭建天气预报界面,了解如何调用高德地图API获取所需的天气数据,并掌握如何将两者有机结合,实现一个功能丰富、体验出色的天气预报应用 无论您是前端新手还是有一定经验,相信这篇教程都能为您带来收获。让我们一起开始这段精彩的Vue.js 高德…...

PostgreSQL修改最大连接数

在使用PostgreSQL 的时候&#xff0c;经常会遇到这样的错误提示&#xff0c; sorry, too many clients already&#xff0c;这是因为默认PostgreSQL最大连接数是 100, 一般情况下&#xff0c;个人使用时足够的&#xff0c;但是在生产环境&#xff0c;这个连接数是远远不够的&am…...

C# SqlSugar 如何使用Sql语句进行查询,并带参数进行查询,防注入

一般ORM查询单表数据已经是很简单的一种方式了 详情可以看我的另一篇文章&#xff1a;ORM C# 封装SqlSugar 操作数据库_sqlsugar 基类封装-CSDN博客 下面是介绍有些数据是需要比较复杂的SQL语句来进行查询的时候&#xff0c;则需要自行组装SQL语句来进行查询&#xff0c;下面…...

slf4j日志框架和logback详解

slf4j作用及其实现原理 SLF4J&#xff08;Simple Logging Facade for Java&#xff09;是一种日志框架的抽象层&#xff0c;它并不是一个具体的日志实现&#xff0c;而是一个接口或门面&#xff08;Facade&#xff09;&#xff0c;旨在为各种不同的日志框架提供一个统一的API。…...

解决@Data与@Builder冲突的N种策略

前言 在Java项目中&#xff0c;Lombok的Data和Builder注解因其便捷性深受开发者喜爱&#xff0c;但两者并用时可能引发构造方法冲突。本文将全面解析这一问题的根源&#xff0c;并介绍包括利用实验性思路探讨的Tolerate概念在内的多种解决方案&#xff0c;确保您在实践中游刃有…...

一文看懂LUT(Lookup Table)查找表

文章目录 原理方法具体步骤和代码实现 查找表&#xff08;Lookup Table&#xff0c;LUT&#xff09;方法是一种通过预先计算并存储函数值来加速计算的方法。对于激活函数&#xff08;例如ReLU&#xff09;&#xff0c;使用LUT可以在一定范围内通过查找预计算的值来近似函数计算…...

稳定的工作_or_冒险的挖洞副业?成年人的选择,从来不是非黑即白

01 — 导语 在互联网时代&#xff0c;“搞副业”成了年轻人对抗焦虑的标配。有人下班跑滴滴&#xff0c;有人周末做博主&#xff0c;而有一群技术极客则选择了一条更硬核的赛道——漏洞挖掘&#xff08;俗称“挖洞”&#xff09;。一边是朝九晚五的稳定工作&#xff0c;五险…...

生成式AI驱动业务流程自动化:从流程挖掘到智能重构

1. 从流程执行到流程创造&#xff1a;生成式AI如何重塑BPM在业务流程管理&#xff08;BPM&#xff09;领域摸爬滚打了十几年&#xff0c;我亲眼见证了它从一套僵化的流程图和审批流&#xff0c;演变为一个动态的、数据驱动的智能决策中枢。传统的BPM核心在于“建模-执行-监控-优…...

双稳健机器学习在时间序列因果推断中的应用:以脉冲响应函数为例

1. 项目概述&#xff1a;当因果推断遇上时间序列在宏观经济和金融领域&#xff0c;我们常常需要回答这样的问题&#xff1a;当中央银行突然宣布加息0.25个百分点&#xff0c;失业率在未来两年内会如何变化&#xff1f;或者&#xff0c;一项新的财政刺激政策出台后&#xff0c;G…...

OpenRA中稳定获取应用程序目录的C#实践

1. 这不是“获取当前路径”那么简单&#xff1a;OpenRA里目录逻辑的特殊性很多人第一次在OpenRA项目里写C#代码时&#xff0c;会下意识地用Directory.GetCurrentDirectory()或者AppDomain.CurrentDomain.BaseDirectory去拿“程序所在文件夹”&#xff0c;结果发现——要么返回的…...

知识图谱与语义网技术栈:从RDF/SPARQL到图神经网络与LLM融合实战

1. 项目概述&#xff1a;从数据孤岛到智能互联的桥梁在数据爆炸的时代&#xff0c;我们每天都被海量的信息包围。然而&#xff0c;这些信息往往像一座座孤岛&#xff0c;彼此隔绝&#xff0c;难以形成有效的知识网络。你是否曾想过&#xff0c;如果能让机器像人一样&#xff0c…...

FPG平台:监管合规体系的扎实构建

FPG平台&#xff1a;监管合规体系的扎实构建金融服务的核心是信任&#xff0c;而信任的建立需要在多个细节上保持持续的投入。FPG平台在合规、技术、服务、教育等方向上的实践&#xff0c;为客户提供了一个较为可靠的服务环境。本文从评测视角对其进行系统性的观察&#xff0c;…...

反事实推理:用因果视角评估与缓解AI模型偏见

1. 项目概述&#xff1a;当模型决策需要“如果当初”在机器学习的世界里&#xff0c;我们常常面临一个困境&#xff1a;模型预测准确率很高&#xff0c;但我们却不知道它为什么做出这样的决策。更棘手的是&#xff0c;我们越来越频繁地发现&#xff0c;这些“黑箱”决策背后&am…...

边缘计算赋能触觉互联网与数字孪生:架构、挑战与物理治疗实践

1. 从概念到现实&#xff1a;边缘计算如何重塑触觉互联网与人类数字孪生在远程医疗、工业操控乃至未来的元宇宙体验中&#xff0c;我们一直梦想着能突破屏幕的界限&#xff0c;实现“隔空取物”般的真实交互。医生希望远程为病人进行精准的物理治疗&#xff0c;工程师渴望在千里…...

别再只会用T检验了!用Python+SciPy搞定Z检验,5分钟判断两组数据差异是否显著

用Python实战Z检验&#xff1a;5分钟判断业务数据差异显著性当你手头有两组A/B测试结果或不同版本的产品指标时&#xff0c;如何快速判断它们的均值差异是否具有统计学意义&#xff1f;很多数据分析师的第一反应是使用T检验&#xff0c;但当你面对大样本数据时&#xff0c;Z检验…...

别再只懂ls -l了!手把手教你用getfattr/setfattr玩转Linux文件隐藏属性

别再只懂ls -l了&#xff01;手把手教你用getfattr/setfattr玩转Linux文件隐藏属性 在Linux系统中&#xff0c;文件权限和属性管理是每个开发者和管理员的必修课。大多数人熟悉 ls -l 展示的基础权限&#xff0c;但很少有人深入探索文件系统中那些不为人知的"隐藏技能&q…...