如何知道一个字段在selenium中是否可编辑?

这篇文章将检查我们如何使用Java检查selenium webdriver中的字段是否可编辑。

我们如何知道我们是否可以编辑字段?“readonly”属性控制字段的可编辑性。如果元素上存在“readonly”属性,则无法编辑或操作该元素或字段。

因此,如果我们找到一种方法来知道元素是否存在“readonly”,那么我们也可以确定字段的可编辑性。

我们可以找到使用-

  • getAttribute()方法
  • 关于Javascript Executor

让我们一个接一个地看看这两种方式。

getAttribute()方法

WebElement接口getAttribute()方法用于获取元素的属性值。

我们将使用getAttribute()方法获取“readOnly”属性的值。如果方法返回true,则意味着该字段不可编辑。否则,该字段是可编辑的。

我们将使用https://testkru.com/Elements/TextFields上的不可编辑元素。

突出显示的元素的ID为“不可编辑”。我们将使用这个id来查找元素,然后了解它的可编辑性特性。

public class CodekruTest {@Testpublic void test() {// pass the path of the chromedriver location in the second argumentSystem.setProperty("webdriver.chrome.driver", "E:\\chromedriver.exe");WebDriver driver = new ChromeDriver();// opening the urldriver.get("https://testkru.com/Elements/TextFields");WebElement element = driver.findElement(By.id("uneditable"));// this will tell whether the field is editable or notSystem.out.println("Is text field non-editable: " + element.getAttribute("readonly"));}
}

产出-

Is text field non-editable: true

由于readonly属性为我们的元素提供,我们在结果中得到了true。

使用Javascript Executor

javascriptExecutor用于执行selenium中的JavaScript代码。

我们也可以通过JavaScript代码获取readonly属性的值。下面的代码将根据字段是否具有readOnly属性给出true或false。

return arguments[0].readOnly

其中arguments[0]是我们要检查其可编辑性的元素。

public class CodekruTest {@Testpublic void test() {// pass the path of the chromedriver location in the second argumentSystem.setProperty("webdriver.chrome.driver", "E:\\chromedriver.exe");WebDriver driver = new ChromeDriver();// opening the urldriver.get("https://testkru.com/Elements/TextFields");WebElement element = driver.findElement(By.id("uneditable"));// this will tell whether the field is editable or notJavascriptExecutor jse = (JavascriptExecutor) driver;System.out.println("Is text field non-editable: " + jse.executeScript("return arguments[0].readOnly", element));}
}

产出-

Is text field non-editable: true

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

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

相关文章

MySQL练手 --- 1789. 员工的直属部门

题目链接:1789. 员工的直属部门 这道题虽然是个简单题,但是"坑"倒是不少,所以记录一下 思路: 题目要干: 一个员工可以属于多个部门。当一个员工加入超过一个部门的时候,他需要决定哪个部门是…

ComfyUI插件:ComfyUI Impact 节点(一)

前言: 学习ComfyUI是一场持久战,而 ComfyUI Impact 是一个庞大的模块节点库,内置许多非常实用且强大的功能节点 ,例如检测器、细节强化器、预览桥、通配符、Hook、图片发送器、图片接收器等等。通过这些节点的组合运用&#xff0…

如何保证前后端交互信息不被篡改。

先说说前后端有哪些认证方式来保证: 基于 session 的认证方式:前端在用户登录成功后,后端会在服务器端生成一个唯一的 session ID,并将该 session ID 返回给前端,在后续的请求中,前端需要带上该 session ID…

SEO与数据中心代理IP的结合能带来哪些便利?

本文将探讨将SEO与数据中心代理IP结合所带来的好处,以及如何利用这种组合来提升网站在搜索引擎中的排名和可见性。 1. 数据中心代理IP的作用和优势 数据中心代理IP指的是由数据中心提供的IP地址,用于隐藏真实服务器的位置和身份。与其他类型的代理IP相…

vue3 命令运行窗口暴露网络地址,以及修改端口号

一般情况下这里的地址是隐藏的 这里加上 --host 可以暴露网络地址,再加上--port --8080 就可以将端口号修改为8080(修改后边的数字就可以修改为你想要的端口号)

从 Batch Norm 到 SGD 隐藏的内容

我们仍然不了解机器学习的哪些方面 欢迎来到雲闪世界。令人惊讶的是,机器学习中的一些基本主题仍然不为研究人员所知,尽管它们很基础且常用,但却似乎很神秘。机器学习的有趣之处在于我们构建了可以工作的东西,然后弄清楚它们为什么…

Linux网络:传输层协议TCP(三)滑动窗口及流量控制

目录 一、关于滑动窗口在TCP中的应用 1.1什么是滑动窗口,为什么要有滑动窗口 1.2滑动窗口的实现 1.3滑动窗口针对丢包重传的处理机制 二、流量控制 一、关于滑动窗口在TCP中的应用 1.1什么是滑动窗口,为什么要有滑动窗口 在上一篇博文中博主阐述了…

叉车安全防撞系统有哪些?叉车防撞装置解决方案

叉车安全防撞系统作为现代工业物流中的安防防护装置,为企业的安全生产提供了强有力的保障。该系统集成了先进的传感器技术、高效的算法处理以及人性化的操作界面,确保叉车在作业过程中能够准确感知周围环境,及时作出反应,有效避免…

车载录像机:移动安全领域的科技新星

随着科技的飞速发展,人类社会的各个领域都在不断经历技术革新。其中,车载录像机作为安防行业与汽车技术结合的产物,日益受到人们的关注。它不仅体现了人类科技发展的成果,更在安防领域发挥了重要作用。本文将详细介绍车载录像机的…

信号、电源、网线、传感器防雷,SPD系列防雷器全覆盖!

信号、电源、网线、传感器防雷,SPD系列防雷器全覆盖! SPD 系列防雷器是一种安装于被保护设备一侧的产品,旨在保护电子设备免受雷击、电磁脉冲、过压过渡冲击等造成的设备损坏。该产品广泛应用于工业控制、安全监测、网络通讯、交通电压等行业…

Windows 实用小工具:窗口钉子/文件管理 2024/7/27

一: wintop 窗口置顶工具 二:WinDirStat 这是一个免费的、开源的磁盘使用分析工具,适用于Windows系统。它会扫描你的硬盘,列出所有文件和文件夹的大小,并以图形化的方式展示,便于理解。 可以用来检测硬盘文件夹占用从而,酌情处…

多模态聊天效果如何?尝试和AI大模型煲电话粥

01 能像真人一样聊天的AI “我第一次来直播的发布会,有点紧张。”当OpenAI前沿研究部门主管马克(Mark Chen)通过手机对ChatGPT说话时,ChatGPT回答,“要不你深呼吸一下?” “好的,我深呼吸。”…

蓝牙耳机百元之内怎么选?四款百元精品爆款蓝牙耳机盘点

在蓝牙耳机的海洋中,百元价位仿佛是一片神秘的绿洲,既诱人又充满未知,如何在众多选项中挑选出真正的精品呢?蓝牙耳机百元之内怎么选?这是许多消费者的共同疑问,带着这个疑问,作为蓝牙耳机发烧党…

【计算机网络】DNS命令练习与抓包分析实验

一:实验目的 1:掌握DNS缓存的清除方法,了解DNS缓存的作用和影响。 2:熟悉nslookup和dig等DNS查询工具的使用,理解DNS查询的基本原理和过程。 3:通过抓包和分析,深入了解DNS查询和响应消息的格…

SpringBoot+ Sharding Sphere 轻松实现数据库字段加解密

一、介绍 在实际的软件系统开发过程中,由于业务的需求,在代码层面实现数据的脱敏还是远远不够的,往往还需要在数据库层面针对某些关键性的敏感信息,例如:身份证号、银行卡号、手机号、工资等信息进行加密存储&#xf…

使用API Monitor探测C++程序在调用HtmlHelp接口打开.chm文件时传入了哪些参数

目录 1、API Monitor介绍 2、为何要使用API Monitor工具? 2、HtmlHelp函数在API列表函数中找不到,将所在模块作为外部Extern DLL模块添加到API Monitor中 3、开启对Beyond Compare工具软件的实时监测 4、在Beyond Compare软件中打开chm帮助文档&…

数据库密码实现加盐加密处理

在实际的开发中,我们的数据库密码一般都是明文的方式存储在数据库中,但是,这种操作非常不安全,容易被黑! 那么,此时我们就需要对其进行加密处理,市面上比较常见的就是MD5加密了,但是…

2024年起重信号司索工(建筑特殊工种)证模拟考试题库及起重信号司索工(建筑特殊工种)理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年起重信号司索工(建筑特殊工种)证模拟考试题库及起重信号司索工(建筑特殊工种)理论考试试题是由安全生产模拟考试一点通提供,起重信号司索工(建筑特殊工种)证模拟考试题库是根据起重信号司索工(建筑特…

aarch64环境安装minio

1.去官网查看最新版本 MinIO | 用于AI的S3 & Kubernetes原生对象存储 2.使用命令安装,采取wget和dnf安装 wget https://dl.min.io/server/minio/release/linux-arm64/archive/minio-20240113075303.0.0-1.aarch64.rpm -O minio.rpm sudo dnf install minio.rpm 注意点…

SpringCloud Nacos的配置与使用

Spring Cloud Nacos的配置与使用 文章目录 Spring Cloud Nacos的配置与使用1. 简单介绍2. 环境搭建3. 服务注册/服务发现4. Nacos 负载均衡4.1 服务下线4.2 权重配置4.3 同集群优先访问 5. Nacos 健康检查5.1 两种健康检查机制5.2 服务实例类型 6.Nacos 环境隔离6.1 创建namesp…