Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >删除Selenium WebDriver中的只读属性

删除Selenium WebDriver中的只读属性
EN

Stack Overflow用户
提问于 2014-03-28 03:20:44
回答 2查看 17.8K关注 0票数 5

我需要在Java中使用Selenium readonly编辑一些WebDriver字段。由于Selenium甚至不允许我找到这个字段,所以我搜索了解决方案,发现最简单的方法可能是使用带有readonly的JavaScript片段删除JavaScript执行器属性。

虽然这个代码片段可以从Firefox控制台成功地从所有输入中删除该属性,但它在Selenium中抛出了一个异常。

JavaScript执行者:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
((JavascriptExecutor) driver).executeScript(
    "var inputs = document.getElementsByTagName('input');​​​​"+
    "for(var i = 0; i < inputs.length; i++)"+
        "inputs[i].removeAttribute('readonly','readonly');​​​​"
);

然后返回错误:

线程"main“org.openqa.selenium.WebDriverException中的异常:非法字符 命令持续时间或超时: 51毫秒

更新:

如果只留下第一个JS命令,也会出现相同的错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
((JavascriptExecutor) driver).executeScript(
    "var inputs = document.getElementsByTagName('input');​​​​");

堆栈跟踪的其余部分与此无关。有人知道如何修复这个问题,或者用另一种方式编辑readonly字段吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-28 03:58:07

我找不到你的代码的问题。但同时使用下面给出的代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
List<WebElement> inputs = driver.findElements(By.tagName("input"));

for (WebElement input : inputs) {
    ((JavascriptExecutor) driver).executeScript(
                "arguments[0].removeAttribute('readonly','readonly')",input);
}

如果这对你有帮助,请告诉我。

票数 14
EN

Stack Overflow用户

发布于 2018-01-08 06:02:31

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
WebElement elementName = driver.findElement(By.xpath("//div[@arid='7']//input[@id='arid7']"));
((JavascriptExecutor) driver).executeScript("arguments[0].removeAttribute('readonly','readonly')", elementName);

这对我来说很管用

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22711441

复制
相关文章
TypeScript中的可选属性和只读属性
可选属性 接口里的属性不全都是必需的。 有些是只在某些条件下存在,或者根本不存在。 例如给函数传入的参数对象中只有部分属性赋值了。带有可选属性的接口与普通的接口定义差不多,只是在可选属性名字定义的后面
孙亖
2018/06/07
2.9K0
python中,类属性为只读属性
class Computer: """电脑""" # __slots__ = ('_name', 'mem', 'cpu') def __init__(self, name, mem, cpu): self._name = name self.mem = mem self.cpu = cpu @property def name(self): # 只读, getter方法 return self._na
py3study
2020/01/07
1.6K0
Selenium(Webdriver)的安装
安装selenium前需要确保python安装成功,并且已经安装了pip。安装 pip 的好处是可以使用 pip 命令方便地安装 Python 第三方库。在通过 pip 安装 Python 第三方库时,如果只输入包名,则默认安装当前库中最新的版本,如果我们不想安装最新版本的包,则可以在包名后面加版本号。通过以下方法确认pip是否已经安装成功:
Altumn
2019/10/21
1.9K0
Selenium(Webdriver)的安装
Jest + Selenium WebDriverJest + Selenium WebDriver
https://medium.com/@mathieux51/jest-selenium-webdriver-e25604969c6
一个会写诗的程序员
2018/12/14
1.5K0
Jest + Selenium WebDriverJest + Selenium WebDriver
解读selenium webdriver
WebDriver可以像用户一样驱动原生浏览器,无论是在本地服务器还是在使用Selenium服务器的远程机器上,都标志着浏览器自动化的一个飞跃。
互联网金融打杂
2022/08/01
6.7K0
解读selenium webdriver
Selenium WebDriver简介
是Selenium工具箱中功能最强大且最受欢迎的工具之一。WebDriver是Selenium RC的扩展版本,具有许多优点,并解决了其许多限制。与Selenium IDE不同,WebDriver将其支持扩展到许多最新的浏览器和平台。与Selenium RC不同,WebDriver也不要求在执行测试脚本之前先启动Selenium服务器。
用户7466307
2020/06/17
1.7K0
有效的只读属性
Swift 中类,结构体和枚举等类型支持计算属性和下标,这些计算属性和下标作为类型的成员,当获取或者设置这些成员时,他们触发程序员指定的计算。最近被接受的提案 SE-0296 介绍了通过和async和await来实现异步函数,但是没有指明计算属性和下标可以支持类似async这种异步效果。此外,为了充分利用async属性,用来指定一个属性throw同样重要。本文旨在通过为有效的只读属性和下标提供语法和语义来填补这部分空白。
DerekYuYi
2021/12/17
1.8K0
selenium webdriver的各种driver
selenium官方加上第三方宣布支持的驱动有很多种;除了PC端的浏览器之外,还支持iphone、android的driver;大概记录一下selenium支持的各种driver的用途与说明。
周小董
2019/03/25
1.1K0
selenium webdriver的各种driver
Selenium Webdriver 简易教程
Selenium RC和Selenium Webdriver是测试框架,提供多种语言的API。不同的是,Selenium Webdriver以一种更底层、更灵活的方式来操作浏览器,并不仅仅使用javascript。这样它可以绕开浏览器的沙箱限制,实现Selenium RC不支持的框架、弹出窗口、页面导航、下拉菜单、基于AJAX的UI元素等控件的操作。以及,Selenium Webdriver不需要本地服务器。
ApacheCN_飞龙
2019/02/15
5.2K0
Selenium Webdriver Desired Capabilities
前言 我们每一个的selenium测试都应该在指定的环境下运行,这个环境可以是web浏览器、移动设备、移动模拟器等等。 那怎么来指定我们的selenium测试脚本运行环境呢? 本次分享主要解决这个问题
苦叶子
2018/04/04
1.8K0
Selenium Webdriver Desired Capabilities
【测试】Selenium Webdriver API
更多操作: http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.remote.webelement
瑞新
2020/07/07
2.5K0
Selenium中WebDriver最新Chrome驱动安装教程
  由于日常测试团队中的仿真环境存在着几套最新版本的测试套件,所以经常可以模拟客户由于浏览器或客户端自动升级至最新版后某些功能失效或报错的业务场景(因为我们本身也有提供外包测试的业务),那么今天就来为大家分享一下有关selenium中浏览器驱动下载与管理。
Austin_zhai
2023/10/25
3.3K0
Selenium中WebDriver最新Chrome驱动安装教程
Selenium Webdriver常用方法
目录[-] 实例化方法 from selenium import webdriver driver = webdriver.Chrome(executable_path='C:\Program Files (x86)\Google\Chrome\Application\chromedriver') 浏览器操作 浏览器最大化 driver.maximize_window() 设置浏览器宽高 driver.set_window_size(480, 800) 控制浏览器前进后退 driver.back()
jhao104
2018/03/20
2.7K0
如何在Selenium WebDriver中查找元素?(一)
有多种方法可以唯一地标识网页中的一个Web元素,例如ID,名称,类名,链接文本,部分链接文本,标记名和XPATH。
用户7466307
2020/06/24
6.1K0
如何在Selenium WebDriver中处理Web表?
在需要以表格格式显示信息的情况下,通常使用Web表或数据表。本质上,显示的数据可以是静态的也可以是动态的。您经常会在电子商务门户网站中看到这样的示例,其中产品规格显示在Web表中。随着它的广泛使用,您经常会遇到需要在Selenium测试自动化脚本中处理它们的场景。
PHP开发工程师
2021/04/20
3.7K0
如何在Selenium WebDriver中处理Web表?
如何在Selenium WebDriver中处理Web表?
在需要以表格格式显示信息的情况下,通常使用Web表或数据表。本质上,显示的数据可以是静态的也可以是动态的。您经常会在电子商务门户网站中看到这样的示例,其中产品规格显示在Web表中。随着它的广泛使用,您经常会遇到需要在Selenium测试自动化脚本中处理它们的场景。
用户7466307
2020/07/15
4.2K0
如何在Selenium WebDriver中处理Web表?
详解PHP中的 input属性(隐藏 只读 限制)
<input onkeydown="if(event.keyCode==13)event.keyCode=9">
用户8449980
2021/07/13
1.9K0
如何在Selenium WebDriver中查找元素?(二)
在我们的测试自动化代码中,我们通常更喜欢使用id,名称,类等这些定位符。但是,有时我们在DOM中找不到它们中的任何一个,而且有时某些元素的定位符在DOM中会动态变化。在这种情况下,我们需要使用智能定位器。这些定位器必须能够定位复杂且动态变化的Web元素。
用户7466307
2020/06/24
2.9K0
聊聊Selenium不同webdriver的构造
Selenium 2,又名 WebDriver,它的主要新功能是集成了 Selenium 1.0 以及 WebDriver(WebDriver 曾经是 Selenium 的竞争对手)。也就是说 Selenium 2 是 Selenium 和 WebDriver 两个项目的合并,即 Selenium 2 兼容 Selenium,它既支持 Selenium API 也支持 WebDriver API。
code4it
2018/09/17
6110
selenium + firefox + webdriver 遇到的坑
采用多线程调用webdriver时候,偶尔会出现这样的错:selenium.common.exceptions.WebDriverException: Message: connection refused
拓荒者
2019/03/11
3.3K0

相似问题

selenium webdriver中的属性文件

26

Selenium webdriver属性错误

22

Selenium WebDriver,从表中删除

22

selenium不移除“只读”属性

11

使用Selenium IWebElement WebDriver从WebDriver中获取所有属性

63
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文